IDimHierarchyCreator.Attributes

Синтаксис

Attributes: Array;

Attributes: System.Array;

Описание

Свойство Attributes определяет массив атрибутов элемента, по которым осуществляется группировка.

Примеры Fore и Fore.NET

Для выполнения примера в репозитории предполагается наличие справочника с идентификатором 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(NullAs IDimInstance;
    
// Получим отметку 
    sel:=diminst.CreateSelection;
    sel.SelectElement(
1False); 
    sel.SelectElement(
2False);
    
// Выведем отмеченные элементы
    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(NullAs IDimInstance;
    
// Получим отметку 
    sel:=diminst.CreateSelection();
    sel.SelectElement(
1False); 
    sel.SelectElement(
2False);
    
// Выведем отмеченные элементы
    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о значением атрибута, по которому выполнялась группировка.

См. также:

IDimHierarchyCreator