PlainOutput: IEtlPlainOutput;
Свойство PlainOutput определяет список полей выхода.
Для выполнения примера в репозитории необходимо наличие задачи ETL с идентификатором «ETL» и таблицы с идентификатором «Тable», которая будет источником данных.
Sub UserProc;
Var
Metabase : IMetabase;
MObj: IMetabaseObject;
EtlTask: IEtlTask;
EtlProvider: IEtlPlainDataProvider;
MBProvider: IDtMetabaseProvider;
Tab: IDatasetModel;
Fields : IEtlPlainFields;
Field : IEtlPlainField;
Begin
Metabase := MetabaseClass.Active;
MObj := Metabase.ItemById("ETL").Edit;
EtlTask := MObj As IEtlTask;
Tab := Metabase.ItemById("Table").Bind As IDatasetModel;
//Создание объекта "Источник репозитория"
EtlProvider := EtlTask.Create(EtlObjectType.PlainDataMetabaseProvider) As IEtlPlainDataProvider;
EtlProvider := EtlProvider.Edit;
EtlProvider.Id := "MB_Provider";
EtlProvider.Name := "Источник данных репозитория";
//Настройка Источника данных
MBProvider := EtlProvider.Provider As IDtMetabaseProvider;
MBProvider.Dataset := Tab;
Fields := EtlProvider.PlainOutput.Fields;
Fields := Fields.Edit;
Field := Fields.Add;
Field.Id := "Name";
Field.Name := "Name";
Field.DataType := DbDataType.String;
Field := Fields.Add;
Field.Id := "Id";
Field.Name := "Id";
Field.DataType := DbDataType.Integer;
Fields.Save;
EtlProvider.Save;
//Cоздание визуального объекта
CreateWX(EtlProvider, EtlTask);
MObj.Save;
End Sub UserProc;
Sub CreateWX(CopyObj: IEtlPlainDataProvider; etltask: IEtltask);
Var
WxDataTrans : IWxRectangle;
WxETLDataTrans : IWxEtlObject;
Begin
WxDataTrans := EtlTask.Workspace.CreateRectangle;
WxDataTrans.Id := CopyObj.Id;
WxETLDataTrans := New WxEtlObject.Create;
WxETLDataTrans.EtlObject := CopyObj;
WxDataTrans.Style.TextPosition := WxTextPosition.Bottom;
WxDataTrans.Style.PictureMarginTop := -10;
WxDataTrans.PinPosition := New GxPointF.Create(20, 20);
WxDataTrans.Extension := WxETLDataTrans As IWxShapeExtension;
End Sub CreateWX;
После выполнения примера (UserProc) для задачи ETL будет создан источник данных репозитория с двумя полями на выходе.
См. также: