IMsDimOpenParamValue.Dimension

Синтаксис Fore

Dimension: IDimensionModel;

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

Dimension: Prognoz.Platform.Interop.Dimension.IDimensionModel;

Описание

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

Комментарии

Для получения коллекции значений параметра используйте свойство IMsDimOpenParamValue.Values.

Пример Fore

Для выполнения примера в репозитории предполагается наличие контейнера моделирования с идентификатором «MS», содержащего метамодель с идентификатором «METAMODEL». Данная метамодель должна содержать параметры для открытия объектов с параметрическими измерениями.

Добавьте ссылки на системные сборки «Dimensions», «Metabase», «Ms».

Sub GetParam;
Var
    mb: IMetabase;
    ms: IMetabaseObjectDescriptor;
    MetaModel: IMsMetaModel;
    StParams: IMsDimOpenStubParamValues;
    i, j, k: Integer;
    StVal: IMsDimOpenStubParamValue;
    ParamVals: IMsDimOpenParamValues;
    PVal: IMsDimOpenParamValue;
    Val: IMetabaseObjectParamValue;
Begin
    mb := MetabaseClass.Active;
    // Получаем метамодель
    ms := mb.ItemById("MS");
    MetaModel := mb.ItemByIdNamespace("METAMODEL", ms.Key).Edit As IMsMetaModel;
    // Получаем параметры метамодели для открытия объектов с параметрическими измерениями
    StParams := MetaModel.DimOpenStubParamValues;
    // Выводим информацию о параметрах в окно консоли
    For i := 0 To StParams.Count - 1 Do
        StVal := StParams.Item(i);
        Debug.WriteLine("Параметр №" + (i + 1).ToString);
        Debug.WriteLine("  Предназначен для объекта с ключом: " + StVal.StubKey.ToString);
        Debug.WriteLine("  Значения параметра:");
        ParamVals := StVal.Values;
        For j := 0 To ParamVals.Count - 1 Do
            PVal := ParamVals.Item(j);
            Debug.WriteLine("    Справочник, на котором основано измерение объекта: " +
                (PVal.Dimension As IMetabaseObject).Id);
            Debug.WriteLine("    Значения параметра для данного измерения:");
            For k := 0 To PVal.Values.Count - 1 Do
                Val := PVal.Values.Item(k);
                Debug.WriteLine("      " + Val.Value);
            End For;
        End For;
    End For;
End Sub GetParam;

После выполнения примера информация о параметрах модели будет выведена в окно консоли.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Ms;

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    ms: IMetabaseObjectDescriptor;
    MetaModel: IMsMetaModel;
    StParams: IMsDimOpenStubParamValues;
    i, j, k: Integer;
    StVal: IMsDimOpenStubParamValue;
    ParamVals: IMsDimOpenParamValues;
    PVal: IMsDimOpenParamValue;
    Val: IMetabaseObjectParamValue;
Begin
    mb := Params.Metabase;
    // Получаем метамодель
    ms := mb.ItemById["MS"];
    MetaModel := mb.ItemByIdNamespace["METAMODEL", ms.Key].Edit() As IMsMetaModel;
    // Получаем параметры метамодели для открытия объектов с параметрическими измерениями
    StParams := MetaModel.DimOpenStubParamValues;
    // Выводим информацию о параметрах в окно консоли
    For i := 0 To StParams.Count - 1 Do
        StVal := StParams.Item[i];
        System.Diagnostics.Debug.WriteLine("Параметр №" + (i + 1).ToString());
        System.Diagnostics.Debug.WriteLine("  Предназначен для объекта с ключом: " + StVal.StubKey.ToString());
        System.Diagnostics.Debug.WriteLine("  Значения параметра:");
        ParamVals := StVal.Values;
        For j := 0 To ParamVals.Count - 1 Do
            PVal := ParamVals.Item[j];
            System.Diagnostics.Debug.WriteLine("    Справочник, на котором основано измерение объекта: " +
                (PVal.Dimension As IMetabaseObject).Id);
            System.Diagnostics.Debug.WriteLine("    Значения параметра для данного измерения:");
            For k := 0 To PVal.Values.Count - 1 Do
                Val := PVal.Values.Item[k];
                System.Diagnostics.Debug.WriteLine("      " + Val.Value);
            End For;
        End For;
    End For;
End Sub;

См. также:

IMsDimOpenParamValue