IEtlCodeBlock.Module

Синтаксис Fore

Module: IMetabaseObjectDescriptor;

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

Module: Prognoz.Platform.Interop.Metabase.IMetabaseObjectDescriptor;

Описание

Свойство Module определяет описание объекта среды разработки, содержащего реализацию выполняемой процедуры/функции.

Комментарии

В качестве значения свойства может быть указано описание какого-либо модуля/формы/сборки/.NET-сборки репозитория.

Пример Fore

Для выполнения примера предполагается наличие в репозитории задачи ETL с идентификатором «OBJ_ETL» и модуля «ETL_Module». В модуле реализована процедура «RunExport». Добавьте ссылки на системные сборки: Andy, Drawing, Etl, Metabase.

Sub CreateCodeBlock;
Var
    MB: IMetabase;
    Task: IEtlTask;
    ProcedureObj: IEtlCodeBlock;
    WxConsumer: IWxRectangle;
    WxETLConsumer: IWxEtlObject;
Begin
    MB := MetabaseClass.Active;
    Task := MB.ItemById("OBJ_ETL").Edit As IEtlTask;
     //Создание объекта Процедура
    ProcedureObj := Task.Create(EtlObjectType.CodeBlock) As IEtlCodeBlock;
    ProcedureObj := ProcedureObj.Edit;

     //Настройка параметров
    ProcedureObj.Module := MB.ItemById("ETL_Module");
    ProcedureObj.Procedure := "RunExport";
     //Сохранение объекта Процедура
    ProcedureObj.Save;
     //Начало создания визуального объекта
    WxConsumer := Task.Workspace.CreateRectangle;
    WxETLConsumer := New WxEtlObject.Create;

    WxETLConsumer.EtlObject := ProcedureObj;
    WxConsumer.Style.TextPosition := WxTextPosition.Bottom;
    WxConsumer.Style.PictureMarginTop := -10;
    WxConsumer.PinPosition := New GxPointF.Create(5050);
    WxConsumer.Extension := WxETLConsumer As IWxShapeExtension;
     //Конец создания визуального объекта
     //Сохранение задачи ETL
    (Task As IMetabaseObject).Save;
End Sub CreateCodeBlock;

При выполнении примера в задаче ETL будет создан новый объект, осуществляющий запуск процедуры. Для объекта будут настроены необходимые для выполнения параметры: указан модуль запускаемая процедура.

Пример Fore.NET

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

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

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Task: IEtlTask;
    ProcedureObj: IEtlCodeBlock;
    WxConsumer: IWxRectangle;
    WxETLConsumer: IWxEtlObject = New WxEtlObjectClass();
    Point: GxPointF = New GxPointFClass();
Begin
    MB := Params.Metabase;

    Task := MB.ItemById["OBJ_ETL"].Edit() As IEtlTask;
     //Создание объекта Процедура
    ProcedureObj := Task.Create(EtlObjectType.eotCodeBlock) As IEtlCodeBlock;
    ProcedureObj := ProcedureObj.Edit();
     //Настройка параметров
    ProcedureObj.Module := MB.ItemById["ETL_Module"];
    ProcedureObj.Procedure := "RunExport";
     //Сохранение объекта Процедура
    ProcedureObj.Save();
     //Начало создания визуального объекта
    WxConsumer := Task.Workspace.CreateRectangle();

    WxETLConsumer.EtlObject := ProcedureObj;
    WxConsumer.Style.TextPosition := WxTextPosition.wtpBottom;
    WxConsumer.Style.PictureMarginTop := -10;
    Point.Create(5050);
    WxConsumer.PinPosition := Point;
    WxConsumer.Extension := WxETLConsumer As IWxShapeExtension;
     //Конец создания визуального объекта
     //Сохранение задачи ETL
    (Task As IMetabaseObject).Save();
End Sub;

См. также:

IEtlCodeBlock