IDtUserProvider.ForeModule

Синтаксис

ForeModule: IModule;

Описание

Свойство ForeModule определяет модуль, в котором содержится класс, реализующий источник пользователя.

Пример

Для выполнения примера предполагается наличие в репозитории задачи 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".

См. также:

IDtUserProvider | IDtRecordsetProvider.Fetch