IDimAdditionalHierarchies.Add

Синтаксис Fore

Add(New_:IDimHierarchy): IDimHierarchyInstance;

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

Add(@New: Prognoz.Platform.Interop.Dimensions.IDimHierarchy): Prognoz.Platform.Interop.Dimensions.IDimHierarchyInstance;

Параметры

New. Альтернативная иерархия справочника.

Описание

Метод Add добавляет дополнительную альтернативную иерархию в измерение.

Комментарии

Для копирования коллекции дополнительных альтернативных иерархий из одного измерения в другое используйте IDimAdditionalHierarchies.CopyFrom.

Для очищения коллекции дополнительных альтернативных иерархий используйте IDimAdditionalHierarchies.Clear.

Для удаления указанной дополнительной альтернативной иерархии используйте IDimAdditionalHierarchies.Remove, IDimAdditionalHierarchies.RemoveById, IDimAdditionalHierarchies.RemoveByKey.

Пример Fore

Для выполнения примера в репозитории необходимо наличие:

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

Sub UserProc;
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    Slice: IEaxDataAreaSlice;
    OriginDim: IDimensionModel;
    Hiers: IDimHierarchies;
    Hier: IDimHierarchy;
    Sel, Sel_: IDimSelection;
    AdditHiers, AdditHiers_: IDimAdditionalHierarchies;
    HierInst: IDimHierarchyInstance;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    //Получение структуры основного справочника
    OriginDim := MB.ItemByIdNamespace("DIC_RF", MB.ItemById("RDS").Key).Edit As IDimensionModel;
    // Получим иерархию справочника
    Hiers := OriginDim.Hierarchies;
    Hier := Hiers.Item(0);
    // Получим экспресс-отчет
    Express := MB.ItemById("EXPRESS").Edit As IEaxAnalyzer;
    // Получим среза данных
    Slice := Express.DataArea.Slices.Item(0);
    // Добавим альтернативные иерархии в измерение
    Sel := Slice.Selection.FindById("DIC_RFD");
    AdditHiers := Sel.AdditionalHierarchies;
    HierInst := AdditHiers.Add(Hier);
    Sel_ := Slice.Selection.FindById("DIC_RFDR");
    AdditHiers_ := Sel.AdditionalHierarchies;
    AdditHiers.CopyFrom(AdditHiers_);
    // Обновим отчет и сохраним изменения
    Express.RefreshAll;
    (Express As IMetabaseObject).Save;
End Sub UserProc;

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

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Express;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    Slice: IEaxDataAreaSlice;
    OriginDim: IDimensionModel;
    Hiers: IDimHierarchies;
    Hier: IDimHierarchy;
    Sel, Sel_: IDimSelection;
    AdditHiers, AdditHiers_: IDimAdditionalHierarchies;
    HierInst: IDimHierarchyInstance;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    //Получение структуры основного справочника
    OriginDim := MB.ItemByIdNamespace["DIC_RF", MB.ItemById["RDS"].Key].Edit() As IDimensionModel;
    // Получим иерархию справочника
    Hiers := OriginDim.Hierarchies;
    Hier := Hiers.Item[0];
    // Получим экспресс-отчет
    Express := MB.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
    // Получим среза данных
    Slice := Express.DataArea.Slices.Item[0];
    // Добавим альтернативные иерархии в измерение
    Sel := Slice.Selection.FindById("DIC_RFD");
    AdditHiers := Sel.AdditionalHierarchies;
    HierInst := AdditHiers.Add(Hier);
    Sel_ := Slice.Selection.FindById("DIC_RFDR");
    AdditHiers_ := Sel.AdditionalHierarchies;
    AdditHiers.CopyFrom(AdditHiers_);
    // Обновим отчет и сохраним изменения
    Express.RefreshAll();
    (Express As IMetabaseObject).Save();
End Sub;

См. также:

IDimAdditionalHierarchies