IEaxAnalyzeCore.ParamProvider

Синтаксис Fore

ParamProvider: Object;

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

ParamProvider: object;

Описание

Свойство ParamProvider возвращает объект для работы с параметрами экспресс-отчета.

Комментарии

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

Пример Fore

Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «EXPRESS». Источником данных является куб.

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

Sub UserProc;
Var
    MB: IMetabase;
    MetObj: IMetabaseObject;
    Express: IEaxAnalyzer;
    CreateParam: IMetabaseObjectParam;
    CreateValues: IMetabaseObjectParamValues;
    Provider: IMsParamProvider;
    ModelParam: IMsModelParam;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим экспресс-отчет
    MetObj := MB.ItemById("EXPRESS").Edit;
    Express := MetObj As IEaxAnalyzer;
    // Создадим параметр
    CreateParam := MetObj.Params.Add;
    CreateParam.DataType := DbDataType.Integer;
    CreateParam.Name := "Parameter";
    CreateParam.DefaultValue := 100;
    // Создадим значения для параметра
    CreateValues := CreateParam.Params.CreateEmptyValues;
    CreateValues.Item(0).Value := 150;
    // Установим заданные значения для параметра
    Express.OwnParamValues := CreateValues;
    // Получим объект - источник данных
    Provider := Express.ParamProvider As IMsParamProvider;
    // Создадим параметр в источнике данных
    ModelParam := Provider.Params.Add;
    ModelParam.Name := "Data_Parameter";
    ModelParam.DefaultValue := 1000;
    ModelParam.ParamType := TsParamType.Simple;
    // Обновим источник данных
    Express.UpdateParamProvider;
    // Сохраним изменения
    MetObj.Save;
End Sub UserProc;

После выполнения примера в экспресс-отчете будет создан параметр c наименованием «Parameter». В источнике данных будет создан параметр с наименованием «Data_Parameter».

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Ms;
Imports Prognoz.Platform.Interop.Transform;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MetObj: IMetabaseObject;
    Express: IEaxAnalyzer;
    CreateParam: IMetabaseObjectParam;
    CreateValues: IMetabaseObjectParamValues;
    Provider: IMsParamProvider;
    ModelParam: IMsModelParam;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим экспресс-отчет
    MetObj := MB.ItemById["EXPRESS_IEAX"].Edit();
    Express := MetObj As IEaxAnalyzer;
    // Создадим параметр
    CreateParam := MetObj.Params.Add();
    CreateParam.DataType := DbDataType.ddtInteger;
    CreateParam.Name := "Parameter";
    CreateParam.DefaultValue := 100;
    // Создадим значения для параметра
    CreateValues := CreateParam.Params.CreateEmptyValues();
    CreateValues.Item[0].Value := 150;
    // Установим заданные значения для параметра
    Express.OwnParamValues := CreateValues;
    // Получим объект - источник данных
    Provider := Express.ParamProvider As IMsParamProvider;
    // Создадим параметр в источнике данных
    ModelParam := Provider.Params.Add();
    ModelParam.Name := "Data Parameter";
    ModelParam.DefaultValue := 1000;
    ModelParam.ParamType := TsParamType.tsptSimple;
    // Обновим источник данных
    Express.UpdateParamProvider();
    // Сохраним изменения
    MetObj.Save();
End Sub;

См. также:

IEaxAnalyzeCore