IEtlPlainLinkFieldMapping.StartValue

Синтаксис Fore

StartValue: Integer;

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

StartValue: integer;

Описание

Свойство StartValue определяет начальное значение при автоинкрементном заполнении полей.

Комментарии

Свойство актуально, если свойство IEtlPlainLinkFieldMapping.Type принимает значение EtlPlainLinkFieldMapping.Increment.

Для определения шага приращения при автоинкрементном заполнении полей используйте IEtlPlainLinkFieldMapping.Increment.

Пример Fore

Для выполнения примера в репозитории необходимо наличие задачи ETL с идентификатором «TASK_ETL». Задача ETL содержит:

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

Sub UserProc;
Var
    MB: IMetabase;
    EtlObj: IMetabaseObject;
    EtlTask: IEtlTask;
    Links: IEtlPlainLinks;
    Link: IEtlPlainLink;
    Output: IEtlPlainOutput;
    Field: IEtlPlainField;
    FileMapp: IEtlPlainLinkFieldMapping;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим задачу ETL
    EtlObj := MB.ItemById("TASK_ETL").Edit;
    EtlTask := EtlObj As IEtlTask;
    // Получим объект-связку
    Links := EtlTask.Links;
    Link := Links.Item(0);
    // Получим выход источника
    Output := Link.SourceObjectOutput;
    // Получим поле выхода
    Field := Output.Fields.Item(0);
    // Заполним поле с помощью типа связи - автоинкремент
    FileMapp := Link.Link(Field);
    FileMapp.Type := EtlPlainLinkFieldMappingType.Increment;
    // Установим начальное значение
    FileMapp.StartValue := 100;
    // Установим шаг
    FileMapp.Increment := 10;
    // Сохраним изменения
    EtlObj.Save;
End Sub UserProc;

После выполнения примера для указанного поля входа установится тип связи - автоинкремент с заданными значениями.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Etl;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    EtlObj: IMetabaseObject;
    EtlTask: IEtlTask;
    Links: IEtlPlainLinks;
    Link: IEtlPlainLink;
    Output: IEtlPlainOutput;
    Field: IEtlPlainField;
    FileMapp: IEtlPlainLinkFieldMapping;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим задачу ETL
    EtlObj := MB.ItemById["TASK_ETL"].Edit();
    EtlTask := EtlObj As IEtlTask;
    // Получим связь
    Links := EtlTask.Links;
    Link := Links.Item[0];
    // Получим выход источника
    Output := Link.SourceObjectOutput;
    // Получим поля выхода
    Field := Output.Fields.Item[0];
    // Заполним поле с помощью типа связи - автоинкремент
    FileMapp := Link.Link[Field];
    FileMapp.Type := EtlPlainLinkFieldMappingType.fmtIncrement;
    // Установим начальное значение
    FileMapp.StartValue := 100;
    // Установим шаг
    FileMapp.Increment := 10;
    // Сохраним изменения
    EtlObj.Save();
End Sub;

См. также:

IEtlPlainLinkFieldMapping