IDimHierarchyInstance.Source

Синтаксис Fore

Source: IDimInstance;

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

Source: Prognoz.Platform,Interop.Dimensions.IDimInstance;

Описание

Свойство Source определяет данные справочника, являющегося источником альтернативной иерархии (IDimHierarchy.Source).

Комментарии

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

Пример Fore

Для выполнения примера предполагается наличие формы, содержащей компонент Button с идентификатором «Button1» и компонент MetaAttributesBreadcrumb с идентификатором «MetaAttributesBreadcrumb1».

В репозитории должна присутствовать база данных временных рядов с идентификатором «DIM_HIERARCHY». В данной базе должен присутствовать пользовательский атрибут, ссылающийся на справочник с настроенной альтернативной иерархией. Для компонента «MetaAttributesBreadcrumb1» должен быть выбран хотя бы один элемент справочника.

Пример является обработчиком события OnClick для компонента «Button1».

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

Sub OBJ8511FormOnCreate(Sender: Object; Args: IEventArgs);
Var
    MB: IMetabase;
    RubInst: IRubricatorInstance;
Begin
    MB := MetabaseClass.Active;
    RubInst := MB.ItemById("DIM_HIERARCHY").Open(NullAs IRubricatorInstance;
    MetaAttributesBreadcrumb1.Rubricator := RubInst;
End Sub OBJ8511FormOnCreate;

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    Items: IBreadcrumbItems;
    Item: IMetaAttributeBreadcrumbItem;
    Attr: IMetaAttribute;
    AttrS: IMetaAttributeSettings;
    AttrSett: IMetaAttributeSetting;
    DimInst, DimInstS: IDimInstance;
    DimHInst: IDimHierarchyInstance;
Begin
    Items := MetaAttributesBreadcrumb1.Items;
    Item := Items.Item(0As IMetaAttributeBreadcrumbItem;
    Attr := Item.MetaAttribute;
    DimInst := Attr.ValuesObject.Open(NullAs IDimInstance;
    AttrS := MetaAttributesBreadcrumb1.MetaAttributeSettings;
    AttrSett := AttrS.FindByAttribute(Attr);
    AttrSett.DimHierarchy := DimInst.Hierarchies.Item(0);
    // Обращение к справочнику, являющимся источником альтернативной иерархии
    DimHInst := DimInst.Hierarchies.Item(0);
    Debug.WriteLine("Данные справочника-альтернативной иерархии");
    DimInstS := DimHInst.Source;
    Debug.Indent;
    Debug.WriteLine("Идентификатор справочника: " + DimInstS.Ident);
    Debug.WriteLine("Ключ справочника: " + DimInstS.Key.ToString);
    Debug.WriteLine("Наименование справочника: " + DimInstS.Name);
    Debug.Unindent;
End Sub Button1OnClick;

После выполнения примера в окно консоли будут выведены данные справочника, являющегося альтернативной иерархией: его идентификатор, ключ и наименование.

Пример Fore.NET

Для выполнения примера предполагается наличие формы, содержащей компонент Button с идентификатором «button1» и компонент MetaAttributesBreadcrumbNet с идентификатором «metaAttributesBreadcrumbNet1».

В репозитории должна присутствовать база данных временных рядов с идентификатором «DIM_HIERARCHY». В данной базе должен присутствовать пользовательский атрибут, ссылающийся на справочник с настроенной альтернативной иерархией. Для компонента «metaAttributesBreadcrumbNet1» должен быть выбран хотя бы один элемент справочника.

Пример является обработчиком события Click для компонента «button1».

Добавьте ссылки на системные сборки «Cubes», «Dimensions», «ExtCtrls», «Forms», «Rds».

Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.ExtCtrls;
Imports Prognoz.Platform.Interop.Forms;
Imports Prognoz.Platform.Interop.Rds;

Private Sub OBJ8524Form_Load(sender: System.Object; e: System.EventArgs);
Var
    MB: IMetabase;
    RubInst: IRubricatorInstance;
Begin
    MB := Self.Metabase;
    RubInst := MB.ItemById["DIM_HIERARCHY"].Open(NullAs IRubricatorInstance;
    metaAttributesBreadcrumbNet1.Rubricator := RubInst;
End Sub;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    Items: IBreadcrumbItems;
    Item: IMetaAttributeBreadcrumbItem;
    Attr: IMetaAttribute;
    AttrS: IMetaAttributeSettings;
    AttrSett: IMetaAttributeSetting;
    DimInst, DimInstS: IDimInstance;
    DimHInst: IDimHierarchyInstance;
Begin
    Items := metaAttributesBreadcrumbNet1.CtrlBox.Items;
    Item := Items.Item[0As IMetaAttributeBreadcrumbItem;
    Attr := Item.MetaAttribute;
    DimInst := Attr.ValuesObject.Open(NullAs IDimInstance;
    AttrS := metaAttributesBreadcrumbNet1.CtrlBox.MetaAttributeSettings;
    AttrSett := AttrS.FindByAttribute(Attr);
    AttrSett.DimHierarchy := DimInst.Hierarchies.Item[0];
    // Обращение к справочнику, являющимся источником альтернативной иерархии
    DimHInst := DimInst.Hierarchies.Item[0];
    System.Diagnostics.Debug.WriteLine("Данные справочника-альтернативной иерархии");
    DimInstS := DimHInst.Source;
    System.Diagnostics.Debug.Indent();
    System.Diagnostics.Debug.WriteLine("Идентификатор справочника: " + DimInstS.Ident);
    System.Diagnostics.Debug.WriteLine("Ключ справочника: " + DimInstS.Key.ToString());
    System.Diagnostics.Debug.WriteLine("Наименование справочника: " + DimInstS.Name);
    System.Diagnostics.Debug.Unindent();
End Sub;

См. также:

IDimHierarchyInstance