Attributes: Array;
Attributes: System.Array;
Свойство Attributes определяет массив атрибутов элемента, по которым осуществляется группировка.
Для выполнения примера в репозитории предполагается наличие справочника с идентификатором DIC.
Добавьте ссылки на системные сборки: Dimensions, Metabase.
Sub Main;
Var
mb:IMetabase;
diminst:IDimInstance;
sel,sel_gr:IDimSelection;
creator: IDimHierarchyCreator;
ar: Array Of integer;
h_inst:IDimHierarchyInstance;
Begin
// Получим репозиторий
mb:=metabaseclass.Active;
// Откроем справочник
diminst:=mb.ItemById("DIC").Open(Null) As IDimInstance;
// Получим отметку
sel:=diminst.CreateSelection;
sel.SelectElement(1, False);
sel.SelectElement(2, False);
// Выведем отмеченные элементы
debug.WriteLine(sel.ToString);
// Создадим динамически альтернативную иерархию
creator := New DimHierarchyCreator.Create;
// Создадим массив куда поместим ключ атрибутов, по которому выполняется группировка
ar:= New integer[1];
ar[0]:=1;
creator.Selection := sel;
// Передаем атрибут, по которому выполняется группировка
creator.Attributes:=ar;
// Получаем группировочное измерение
h_inst:=creator.HierarchyInstance;
sel_gr:=h_inst.Source.CreateSelection;
sel_gr.SelectAll;
// Выведем все элементы группировочной иерархии
debug.WriteLine(sel_gr.ToString);
End Sub Main;
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Metabase;
…
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
mb:IMetabase;
diminst:IDimInstance;
sel,sel_gr:IDimSelection;
creator: IDimHierarchyCreator;
ar: Array Of integer;
h_inst:IDimHierarchyInstance;
Begin
// Получим репозиторий
mb:=Params.Metabase;
// Откроем справочник
diminst:=mb.ItemById["DIC"].Open(Null) As IDimInstance;
// Получим отметку
sel:=diminst.CreateSelection();
sel.SelectElement(1, False);
sel.SelectElement(2, False);
// Выведем отмеченные элементы
System.Diagnostics.Debug.WriteLine(sel.ToString("NAME", " , ", False));
// Создадим динамически альтернативную иерархию
creator := New DimHierarchyCreator.Create();
// Создадим массив куда поместим ключи атрибутов по которым хотим сгруппировать
ar:= New integer[1];
ar[0]:=1;
creator.Selection := sel;
// Передаем атрибуты, по которым хотим сгруппировать
creator.Attributes:=ar;
// Получаем группировочное измерение
h_inst:=creator.HierarchyInstance;
sel_gr:=h_inst.Source.CreateSelection();
sel_gr.SelectAll();
// Выведем все элементы группировочной иерархии
System.Diagnostics.Debug.WriteLine(sel_gr.ToString("NAME", " , ", False));
End Sub;
В результате выполнения примера в консоли будут выведены все элементы альтернативной иерархии cо значением атрибута, по которому выполнялась группировка.
См. также: