IMetaRdsLoader.SqlSource

Синтаксис Fore

SqlSource: String;

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

SqlSource: string;

Описание

Свойство SqlSource определяет SQL-запрос, в результате выполнения которого будет сформирован источник данных для табличного справочника НСИ.

Комментарии

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

Пример Fore

Для выполнения примера в репозитории предполагается наличие репозитория НСИ с идентификатором «RDS_REPO» и таблицы с физическим именем «T_Dictionary». Данная таблица должна содержать следующие поля: «KEY» (целочисленное), «NAME» (строковое), «ORD» (целочисленное).

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

Sub UserProc;
Var
    MB: IMetabase;
    CrInfo: IMetabaseObjectCreateInfo;
    RdsLoader: IMetaRdsLoader;
Begin
    // Получаем текущий репозиторий
    MB := MetabaseClass.Active;
    CrInfo := MB.CreateCreateInfo;
    CrInfo.Parent := MB.ItemById("MDM");
    CrInfo.Id := MB.GenerateId("NewSQLDictionary", CrInfo.Parent.Key);
    // Создаем объект для создания табличного справочника НСИ и загрузки в него данных
    RdsLoader := New MetaRdsLoader.Create;
    RdsLoader.SqlSource := "Select ""KEY"", ""NAME"", ""ORD"" From  T_Dictionary";
    //Привязка атрибутов
    RdsLoader.Bindings.KeyBinding.Field := "KEY";
    RdsLoader.Bindings.NameBinding.Field := "NAME";
    RdsLoader.Bindings.OrderBinding.Field := "ORD";
    //Создание справочника
    (RdsLoader.CreateObject(CrInfo) As IMetabaseObject).Save;
    //Загрузка данных
    RdsLoader.Load(UpdateLoadMode.Insert);
End Sub UserProc;

В результате выполнения примера будет инициализирован объект, используемый для создания табличных справочников НСИ и загрузки в них данных. Для создания справочника будут настроены привязки к полям источника, которым является SQL-запрос. После этого будет создан справочник и в него будут загружены данные, полученные в результате выполнения SQL-запроса

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Dt;
Imports Prognoz.Platform.Interop.Rds;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    CrInfo: IMetabaseObjectCreateInfo;
    RdsLoader: IMetaRdsLoader;
Begin
    // Получаем текущий репозиторий
    MB := Params.Metabase;
    CrInfo := MB.CreateCreateInfo();
    CrInfo.Parent := MB.ItemById["MDM"];
    CrInfo.Id := MB.GenerateId("NewSQLDictionary", CrInfo.Parent.Key);
    // Создаем объект для создания табличного справочника НСИ и загрузки в него данных
    RdsLoader := New MetaRdsLoader.Create();
    RdsLoader.SqlSource := "Select ""KEY"", ""NAME"", ""ORD"" From  T_Dictionary";
    //Привязка атрибутов
    RdsLoader.Bindings.KeyBinding.Field := "KEY";
    RdsLoader.Bindings.NameBinding.Field := "NAME";
    RdsLoader.Bindings.OrderBinding.Field := "ORD";
    //Создание справочника
    (RdsLoader.CreateObject(CrInfo) As IMetabaseObject).Save();
    //Загрузка данных
    RdsLoader.Load(UpdateLoadMode.ulmInsert);
End Sub;

См. также:

IMetaRdsLoader