IDtRdsConsumer.Dataset

Синтаксис

Dataset: IDatasetModel;

Dataset: Prognoz.Platform.Interop.Db.IDatasetModel;

Описание

Свойство Dataset определяет табличный справочник НСИ, который выступает в качестве приёмника данных.

Пример

Для выполнения примера предполагается наличие в репозитории задачи ETL с идентификатором «ETL_Task» и табличного справочника НСИ с идентификатором «RDS_DICT».

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

Sub UserProc;
Var
    MB: IMetabase;
    ETLTask: IEtlTask;
    EtlConsumer: IEtlPlainDataConsumer;
    DtRds: IDtRdsConsumer;
Begin
    MB := MetabaseClass.Active;
    ETLTask := MB.ItemById(
"ETL_Task").Edit As IEtlTask;
    
//Создание нового приёмника - табличного справочника НСИ
    EtlConsumer := ETLTask.Create(EtlObjectType.PlainDataRdsConsumer) As IEtlPlainDataConsumer;
    EtlConsumer := EtlConsumer.Edit;
    EtlConsumer.ClearConsumer := 
False;
    EtlConsumer.Id := 
"RDS_Consumer";
    EtlConsumer.Name := 
"Приёмник - Табличный справочник НСИ";
    
//Создаем визуальный объект приёмника
    CreateWX(ETLTask, EtlConsumer, 00);
    
//Настраиваем приёмник
    DtRds := EtlConsumer.Consumer As IDtRdsConsumer;
    DtRds.Dataset := Mb.ItemById(
"RDS_DICT").Bind As IDatasetModel;
    DtRds.CatchAddRecordException := 
True;
    DtRds.UpdateMode := UpdateLoadMode.InsertUpdate;
    
//Сохранение приёмника
    EtlConsumer.Save;
    
//Сохранение задачи
    (ETLTask As IMetabaseObject).Save;
End Sub UserProc;

//Создание визуального объекта
Sub CreateWX(ETLTask: IEtlTask; ETLObject: IEtlObject; XPosition: Integer; YPosition: Integer);
Var
    WxRect: IWxRectangle;
    WxETLObj: IWxEtlObject;
Begin
    WxRect := ETLTask.Workspace.CreateRectangle;
    WxRect.Id := ETLObject.Id;
    WxETLObj := 
New WxEtlObject.Create;
    WxETLObj.EtlObject := ETLObject;
    WxRect.Style.TextPosition := WxTextPosition.Bottom;
    WxRect.Style.PictureMarginTop := -
10;
    WxRect.PinPosition := 
New GxPointF.Create(XPosition, YPosition);
    WxRect.Extension := WxETLObj 
As IWxShapeExtension;
End Sub CreateWX;

Imports Prognoz.Platform.Interop.Andy;
Imports Prognoz.Platform.Interop.Db;
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Dt;
Imports Prognoz.Platform.Interop.Etl;
Imports Prognoz.Platform.Interop.Metabase;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    ETLTask: IEtlTask;
    EtlConsumer: IEtlPlainDataConsumer;
    DtRds: IDtRdsConsumer;
Begin
    MB := Params.Metabase;
    ETLTask := MB.ItemById[
"ETL_Task"].Edit() As IEtlTask;
    
//Создание нового приёмника - табличного справочника НСИ
    EtlConsumer := ETLTask.Create(EtlObjectType.eotPlainDataRdsConsumer) As IEtlPlainDataConsumer;
    EtlConsumer := EtlConsumer.Edit();
    EtlConsumer.ClearConsumer := 
False;
    EtlConsumer.Id := 
"RDS_Consumer";
    EtlConsumer.Name := 
"Источник - Табличный справочник НСИ";
    
//Создаем визуальный объект источника
    CreateWX(ETLTask, EtlConsumer, 00);
    
//Настраиваем приёмник
    DtRds := EtlConsumer.Consumer As IDtRdsConsumer;
    DtRds.Dataset := Mb.ItemById[
"RDS_DICT"].Bind() As IDatasetModel;
    DtRds.CatchAddRecordException := 
True;
    DtRds.UpdateMode := UpdateLoadMode.ulmInsertUpdate;
    
//Сохранение приёмника
    EtlConsumer.Save();
    
//Сохранение задачи
    (ETLTask As IMetabaseObject).Save();
End Sub;

//Создание визуальных объектов
Public Shared Sub CreateWX(ETLTask: IEtlTask; ETLObject: IEtlObject; XPosition: Integer; YPosition: Integer);
Var
    GxPointFCls: GxPointF = 
New GxPointFClass();
    WxRect: IWxRectangle;
    WxETLObj: IWxEtlObject = 
New WxEtlObject();
Begin
    WxRect := ETLTask.Workspace.CreateRectangle();
    WxRect.Id := ETLObject.Id;
    WxETLObj.EtlObject := ETLObject;
    WxRect.Style.TextPosition := WxTextPosition.wtpBottom;
    WxRect.Style.PictureMarginTop := -
10;
    GxPointFCls.Create(XPosition, YPosition);
    WxRect.PinPosition := GxPointFCls;
    WxRect.Extension := WxETLObj 
As IWxShapeExtension;
End Sub;

При выполнении примера в задаче ETL будет создан новый приёмник данных, связанный с указанным табличным справочником НСИ.

См. также:

IDtRdsConsumer