IDtObjectDataFormat.UsePredefinedDateFormats

Синтаксис Fore

UsePredefinedDateFormats: Boolean;

Синтаксис Fore.NET

UsePredefinedDateFormats: boolean;

Описание

Свойство UsePredefinedDateFormats определяет использование предопределения формата даты поля, согласно заданному формату через свойство IDtFieldDefinition.DateFormat.

Комментарии

Возможные значения свойства:

Пример Fore

Для выполнения примера предполагается наличие на форме компонента Button с идентификатором «Button1», наличие текстового файла с наименованием «Data_Import», располагающегося в папке C:\temp\Data_Import, а так же объекта Задача ETL с идентификатором «ELT».

Добавьте ссылки на системные сборки: Andy, Dal, Drawing, Dt, Etl, Forms и Metabase.

Содержимое файла Data_Import

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    MB: IMetabase;
    EtlTask: IEtlTask;
    EtlProvider: IEtlPlainDataProvider;
    TextProvider: IDtTextProvider;
    DateFormat: IDtObjectDataFormat;
    WxProvider: IWxRectangle;
    WxETLProvider: IWxETLObject;
Begin
    MB := MetabaseClass.Active;
    EtlTask := MB.ItemById(
"ETL").Edit As IEtlTask;
    
//Создание объекта "Импорт из текста"
    EtlProvider := EtlTask.Create(EtlObjectType.PlainDataTextProvider) As IEtlPlainDataProvider;
    EtlProvider := EtlProvider.Edit;
    EtlProvider.Id := 
"Data_Import";
    EtlProvider.Name := 
"Data_Import";
    EtlProvider.Description := 
"Data_Import";
    
//Настройка источника данных
    TextProvider := EtlProvider.Provider As IDtTextProvider;
    TextProvider.File := 
"C:\temp\Data_Import.txt";
    DateFormat := TextProvider.StringDataFormat;
    DateFormat.UsePredefinedDateFormats := 
True;
    TextProvider.FieldsFromFile;
    TextProvider.Fields.item(
0).DateFormat := "$Year$A$Quarter$";
    TextProvider.Fields.item(
0).DataType := dbdatatype.Date;
    TextProvider.Fields.item(
1).DateFormat := "$Year$M$Quarter$";
    TextProvider.Fields.item(
1).DataType := dbdatatype.Date;
    TextProvider.Fields.item(
2).DateFormat := "$Year$$Month$$Day$";
    TextProvider.Fields.item(
2).DataType := dbdatatype.Date;
    EtlProvider.FillDefault;
    
//Сохраняем источник
    EtlProvider.Save;
    
//Создание визуального объекта
    WxProvider := EtlTask.Workspace.CreateRectangle;
    WxETLProvider := 
New WxETLObject.Create;
    WxETLProvider.ETLObject := EtlProvider;
    WxProvider.Style.TextPosition := WxTextPosition.Bottom;
    WxProvider.Style.PictureMarginTop := -
10;
    WxProvider.PinPosition := 
New GxPointF.Create(5050);
    WxProvider.Extension := WxETLProvider 
As IWxShapeExtension;
    
//Сохранение задачи Etl
    (EtlTask As IMetabaseObject).Save;
End Sub Button1OnClick;

В результате выполнения примера после нажатия кнопки в задачу ETL будет импортирован текстовый файл. Данные текстового файла будут отображены в виде таблицы, а столбцы будут предопределены согласно заданному формату даты:

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.

Imports Prognoz.Platform.Interop.Andy;
Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Dt;
Imports Prognoz.Platform.Interop.Etl;
Imports Prognoz.Platform.Interop.Forms;
Imports Prognoz.Platform.Interop.Metabase;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    MB: IMetabase;
    EtlTask: IEtlTask;
    EtlProvider: IEtlPlainDataProvider;
    TextProvider: IDtTextProvider;
    DateFormat: IDtObjectDataFormat;
    WxProvider: IWxRectangle;
    WxETLProvider: IWxETLObject;
    OutPoint: GxPointF = 
New GxPointFClass();
Begin
    MB := Self.Metabase;
    EtlTask := MB.ItemById[
"ETL"].Edit() As IEtlTask;
    
//Создание объекта "Импорт из текста"
    EtlProvider := EtlTask.Create(EtlObjectType.eotPlainDataTextProvider) As IEtlPlainDataProvider;
    EtlProvider := EtlProvider.Edit();
    EtlProvider.Id := 
"Data_Import";
    EtlProvider.Name := 
"Data_Import";
    EtlProvider.Description := 
"Data_Import";
    
//Настройка источника данных
    TextProvider := EtlProvider.Provider As IDtTextProvider;
    TextProvider.File := 
"C:\temp\price_dot.txt";
    DateFormat := TextProvider.StringDataFormat;
    DateFormat.UsePredefinedDateFormats := 
True;
    
//DateFormat.DateFormat := "$Day$M$Month$Q$Year$";
    TextProvider.FieldsFromFile();
    TextProvider.Fields.item[
0].DateFormat := "$Year$A$Quarter$";
    TextProvider.Fields.item[
0].DataType := dbdatatype.ddtDate;
    TextProvider.Fields.item[
1].DateFormat := "$Year$M$Quarter$";
    TextProvider.Fields.item[
1].DataType := dbdatatype.ddtDate;
    TextProvider.Fields.item[
2].DateFormat := "$Year$Month$Day$";
    TextProvider.Fields.item[
2].DataType := dbdatatype.ddtDate;
    EtlProvider.FillDefault();
    
//Сохраняем источник
    EtlProvider.Save();
    
//Создание визуального объекта
    WxProvider := EtlTask.Workspace.CreateRectangle();
    WxETLProvider := 
New WxETLObject.Create();
    WxETLProvider.ETLObject := EtlProvider;
    WxProvider.Style.TextPosition := WxTextPosition.wtpBottom;
    WxProvider.Style.PictureMarginTop := -
10;
    OutPoint := WxProvider.PinPosition;
    OutPoint.Create(
5050);
    WxProvider.Extension := WxETLProvider 
As IWxShapeExtension;
    
//Сохранение задачи Etl
    (EtlTask As IMetabaseObject).Save();
End Sub;

См. также:

IDtObjectDataFormat