IMetabaseObjectParamControl.Expression

Синтаксис Fore

Expression: IExpression;

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

Expression: Prognoz.Platform.Interop.ForeSystem.IExpression;

Описание

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

Пример Fore

Для выполнения примера предполагается наличие в репозитории куба с идентификатором «STD_CUBE». Данный куб имеет в своей структуре измерение, которое построено на параметрическом справочнике «COUNTRY». Количество параметров, созданных в структуре куба, соответствует количеству параметров у справочника.

Sub UserProc;
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    Params: IMetabaseObjectParams;
    ControlInfo: IMetabaseObjectControlInfo;
    Control: IMetabaseObjectControl;
    Param: IMetabaseObjectParamControl;
    i: Integer;
Begin
    MB := MetabaseClass.Active;
    MObj := Mb.ItemById("STD_CUBE").Edit;
    //Параметры самого куба
    Params := MObj.Params;
    ControlInfo := Params.ControlInfo;
    Control := ControlInfo.FindByKey(MB.GetObjectKeyById("COUNTRY"));
    //Привязка параметров вложенного объекта
    For i := 0 To Control.Count - 1 Do
        Param := Control.Item(i);
        Param.Expression.AsString := ':' + Params.Item(i).Id;
    End For;
    MObj.Save;
End Sub UserProc;

При выполнении примера будет осуществлена настройка управления параметрами для указанного справочника. При открытии куба, после ввода значений параметров, данные значения будут также переданы для открытия справочника.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Metabase;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    ObjParams: IMetabaseObjectParams;
    ControlInfo: IMetabaseObjectControlInfo;
    Control: IMetabaseObjectControl;
    Param: IMetabaseObjectParamControl;
    i: Integer;
Begin
    MB := Params.Metabase;
    MObj := Mb.ItemById["STD_CUBE"].Edit();
    //Параметры самого куба
    ObjParams := MObj.Params;
    ControlInfo := ObjParams.ControlInfo;
    Control := ControlInfo.FindByKey(MB.GetObjectKeyById("COUNTRY"));
    //Привязка параметров вложенного объекта
    For i := 0 To Control.Count - 1 Do
        Param := Control.Item[i];
        Param.Expression.AsString := ':' + ObjParams.Item[i].Id;
    End For;
    MObj.Save();
End Sub;

См. также:

IMetabaseObjectParamControl