ForeClass: String;
Свойство ForeClass определяет наименование класса, реализующего источник пользователя.
Для выполнения примера предполагается наличие в репозитории задачи ETL с идентификатором "Etl" и модуля "ModuleProvider", содержащего класс "MyProvider" реализующий источник пользователя. Результатом работы источника пользователя является массив, содержащий символьные и вещественные значения.
Sub Main;
Var
MB: IMetabase;
MObj: IMetabaseObject;
EtlTask: IEtlTask;
EtlProvider: IEtlPlainDataProvider;
UserProvider: IDtUserProvider;
WxProvider: IWxRectangle;
WxETLProvider: IWxETLObject;
Fields: IDtFieldDefinitions;
Field: IDtFieldDefinition;
Begin
MB := MetabaseClass.Active;
//Поиск задачи ETL. Объект репозитория с идентификатором "ETL"
MObj := MB.ItemById("Etl").Edit;
EtlTask := MObj As IEtlTask;
//Начало создания источника
//Создание объекта "Источник пользователя"
EtlProvider := EtlTask.Create(EtlObjectType.PlainDataUserProvider) As IEtlPlainDataProvider;
EtlProvider := EtlProvider.Edit;
EtlProvider.Id := "User_Provider";
EtlProvider.Name := "Источник пользователя";
EtlProvider.Description := "Источник пользователя";
//Настройка источника данных
UserProvider := EtlProvider.Provider As IDtUserProvider;
UserProvider.ForeModule := MB.ItemById("ModuleProvider").Bind As IModule;
UserProvider.ForeClass := "MyProvider";
Fields := UserProvider.Fields;
Field := Fields.Add;
Field.DataType := DbDataType.String;
Field.Name := "Наименование";
Field := Fields.Add;
Field.DataType := DbDataType.Float;
Field.Name := "Значение";
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
MObj.Save;
End Sub Main;
После выполнения примера в задаче ETL будет создан объект «Источник пользователя». Данный источник будет импортировать данные, полученные в соответствии с алгоритмом пользователя, реализованным в переопределенном методе Fetch в классе "MyProvider".
См. также: