IEtlPlainDataFixedUser.Template

Синтаксис Fore

Template: IEtlTemplate;

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

Template: Prognoz.Platform.Interop.KeFore.IEtlTemplate;

Описание

Свойство Template определяет шаблон для алгоритма пользователя.

Комментарии

Шаблон используется для задания внешнего вида алгоритма пользователя на рабочем поле.

Примеры Fore

Для выполнения примера в репозитории необходимо наличие:

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

Sub UserProc;
Var
    MB: IMetabase;
    EtlTask: IEtlTask;
    Etl, ETLEdit: IEtlPlainDataFixedUser;
    Params: ISharedParams;
    Templates: IEtlTemplates;
    Template: IEtlTemplate;
    Inputs: IEtlPlainInputs;
    Outputs: IEtlPlainOutputs;
    Rect: IWxRectangle;
    WxETL: IWxEtlObject;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим задачу ETL
    EtlTask := MB.ItemById("ETL_TASK").Edit As IEtlTask;
    // Создадим пользовательский преобразователь в задаче
    Etl := EtlTask.Create(EtlObjectType.PlainDataFixedUser) As IEtlPlainDataFixedUser;
    Etl.Id := "PlainDataFixedUser";
    Etl.Name := "Алгоритм пользователя";
    // Будем использовать шаблон
    Params := MB.SpecialObject(MetabaseSpecialObject.SharedParams).Edit As ISharedParams;
    Templates := Params.EtlTemplates(ETLTemplateType.Provider);
    Template := Templates.Add;
    Template.Module := mb.ItemById("USERSCLASSFORETL");
    Template.Class_ := "User";
    Template.Id := "TemplID";
    Template.Name := "TemplName";
    Etl.Template := Template;
    (Params As IMetabaseObject).Save;
    // Добавим вход, выход, шаблон преобразователя
    ETLEdit := ETl.Edit;
    Inputs := ETLEdit.PlainInputs;
    Inputs.Add;
    Outputs := ETLEdit.PlainOutputs;
    Outputs.Add;
    // Сохраним изменения преобразователя
    ETLEdit.Save;
    // Создадим визуальное представление преобразователя
    Rect := EtlTask.Workspace.CreateRectangle;
    WxETL := New WxEtlObject.Create;
    WxETL.EtlObject := Etl;
    Rect.Style.TextPosition := WxTextPosition.Bottom;
    Rect.Style.PictureMarginTop := -10;
    Rect.PinPosition := New GxPointF.Create(5050);
    Rect.Extension := WxETL As IWxShapeExtension;
    // Сохраним изменения
    (EtlTask As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера в указанной задаче ETL будет создан преобразователь данных на основе шаблона.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Andy;
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Etl;
Imports Prognoz.Platform.Interop.KeFore;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    EtlTask: IEtlTask;
    Etl, ETLEdit: IEtlPlainDataFixedUser;
    Paramss: ISharedParams;
    Templates: IEtlTemplates;
    Template: IEtlTemplate;
    Inputs: IEtlPlainInputs;
    Outputs: IEtlPlainOutputs;
    Rect: IWxRectangle;
    WxETL: WxEtlObjectClass = New WxEtlObjectClass();
    PointF: GxPointFClass = New GxPointFClass();
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим задачу ETL
    EtlTask := MB.ItemById["ETL_Tsk"].Edit() As IEtlTask;
    // Создадим пользовательский преобразователь в задаче
    Etl := EtlTask.Create(EtlObjectType.eotPlainDataFixedUser) As IEtlPlainDataFixedUser;
    Etl.Id := "PlainDataFixedUser";
    Etl.Name := "Алгоритм пользователя";
    // Будем использовать шаблон
    Paramss := MB.SpecialObject[MetabaseSpecialObject.msoSharedParams].Edit() As ISharedParams;
    Templates := Paramss.EtlTemplates[ETLTemplateType.etlttProvider];
    Template := Templates.Add();
    Template.Module := mb.ItemById["USERSCLASSFORETL"];
    Template.@Class := "User";
    Template.Id := "TemplID";
    Template.Name := "TemplName";
    Etl.Template := Template;
    (Paramss As IMetabaseObject).Save();
    // Добавим вход, выход, шаблон преобразователя
    ETLEdit.Edit();
    Inputs := ETLEdit.PlainInputs;
    Inputs.Add();
    Outputs := ETLEdit.PlainOutputs;
    Outputs.Add();
    // Сохраним изменения преобразователя
    ETLEdit.Save();
    // Создадим визуальное представление преобразователя
    Rect := EtlTask.Workspace.CreateRectangle();
    WxETL.EtlObject := Etl;
    Rect.Style.TextPosition := WxTextPosition.wtpBottom;
    Rect.Style.PictureMarginTop := -10;
    PointF.Create(5050);
    Rect.PinPosition := PointF;
    Rect.Extension := WxETL As IWxShapeExtension;
    // Сохраним изменения
    (EtlTask As IMetabaseObject).Save();
End Sub;

См. также:

IEtlPlainDataFixedUser