UsePredefinedDateFormats: Boolean;
UsePredefinedDateFormats: boolean;
Свойство UsePredefinedDateFormats определяет использование предопределения формата даты поля, согласно заданному формату через свойство IDtFieldDefinition.DateFormat.
Возможные значения свойства:
False (по умолчанию). Предопределение формата даты поля не используется.
True. Использовать предопределение формата даты поля.
Для выполнения примера предполагается наличие на форме компонента 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(50, 50);
WxProvider.Extension := WxETLProvider As IWxShapeExtension;
//Сохранение задачи Etl
(EtlTask As IMetabaseObject).Save;
End Sub Button1OnClick;
В результате выполнения примера после нажатия кнопки в задачу ETL будет импортирован текстовый файл. Данные текстового файла будут отображены в виде таблицы, а столбцы будут предопределены согласно заданному формату даты:

Необходимые требования и результат выполнения примера 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(50, 50);
WxProvider.Extension := WxETLProvider As IWxShapeExtension;
//Сохранение задачи Etl
(EtlTask As IMetabaseObject).Save();
End Sub;
См. также: