IEaxObjectSelectionManager.Selection

Синтаксис Fore

Selection([Update: Boolean = True]): IEaxObjectSelection;

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

Selection[Update: boolean]: Prognoz.Platform.Interop.Express.IEaxObjectSelection;

Параметры

Update. Признак того, что отметка будет изменена.

Описание

Свойство Selection возвращает отметку объекта.

Комментарии

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

Возможные значения параметра Update:

Пример Fore

Для выполнения примера в репозитории предполагается наличие экспресс-отчета с идентификатором «EAX_SEL_MANAGER». Данный отчет должен содержать таблицу, в которой выделено несколько областей.

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

Sub UserProc;
Var
    mb: IMetabase;
    Report: IEaxAnalyzer;
    SelManager: IEaxObjectSelectionManager;
    ObjSel: IEaxObjectSelection;
    i, j: Integer;
    SelSet: IDimSelectionSet;
    Sel: IDimSelection;
Begin
    // Получаем текущий репозиторий
    mb := MetabaseClass.Active;
    // Получаем экспресс-отчет
    Report := mb.ItemById("EAX_SEL_MANAGER").Bind As IEaxAnalyzer;
    // Получаем объект для работы с отметкой, по которой строится таблица данных
    SelManager := Report.Grid.SelectionManager;
    // Получаем отметку в таблице
    ObjSel := SelManager.Selection;
    If ObjSel.Count > 0 Then
        // Выводим отметку, соответствующую областям, выделенным в таблице
        For i := 0 To ObjSel.Count - 1 Do
            Debug.WriteLine("Набор отметок " + (i + 1).ToString);
            Debug.Indent;
            SelSet := ObjSel.Item(i);
            For j := 0 To SelSet.Count - 1 Do
                Sel := SelSet.Item(j);
                Debug.WriteLine("Отметка измерения '" + Sel.Dimension.Name + "'");
                Debug.Indent;
                Debug.WriteLine(Sel.ToString);
                Debug.Unindent;
            End For;
            Debug.Unindent;
            Debug.WriteLine("");
        End For;
        // Выводим совмещенную отметку, соответствующую всем областям, выделенным в таблице
        Debug.WriteLine("Совмещенный набор отметок");
        Debug.Indent;
        SelSet := ObjSel.Combined;
        For j := 0 To SelSet.Count - 1 Do
            Sel := SelSet.Item(j);
            Debug.WriteLine("Отметка измерения '" + Sel.Dimension.Name + "'");
            Debug.Indent;
            Debug.WriteLine(Sel.ToString);
            Debug.Unindent;
        End For;
        Debug.Unindent;
    End If;
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;
    Report: IEaxAnalyzer;
    SelManager: IEaxObjectSelectionManager;
    ObjSel: IEaxObjectSelection;
    i, j: Integer;
    SelSet: IDimSelectionSet;
    Sel: IDimSelection;
Begin
    // Получаем текущий репозиторий
    mb := Params.Metabase;
    // Получаем экспресс-отчет
    Report := mb.ItemById["EAX_SEL_MANAGER"].Bind() As IEaxAnalyzer;
    // Получаем объект для работы с отметкой, по которой строится таблица данных
    SelManager := Report.Grid.SelectionManager;
    // Получаем отметку в таблице
    ObjSel := SelManager.Selection[True];
    If ObjSel.Count > 0 Then
        // Выводим отметку, соответствующую областям, выделенным в таблице
        For i := 0 To ObjSel.Count - 1 Do
            System.Diagnostics.Debug.WriteLine("Набор отметок " + (i + 1).ToString());
            System.Diagnostics.Debug.Indent();
            SelSet := ObjSel.Item[i];
            For j := 0 To SelSet.Count - 1 Do
                Sel := SelSet.Item[j];
                System.Diagnostics.Debug.WriteLine("Отметка измерения '" + Sel.Dimension.Name + "'");
                System.Diagnostics.Debug.Indent();
                System.Diagnostics.Debug.WriteLine(Sel.ToString(""","False));
                System.Diagnostics.Debug.Unindent();
            End For;
            System.Diagnostics.Debug.Unindent();
            System.Diagnostics.Debug.WriteLine("");
        End For;
        // Выводим совмещенную отметку, соответствующую всем областям, выделенным в таблице
        System.Diagnostics.Debug.WriteLine("Совмещенный набор отметок");
        System.Diagnostics.Debug.Indent();
        SelSet := ObjSel.Combined;
        For j := 0 To SelSet.Count - 1 Do
            Sel := SelSet.Item[j];
            System.Diagnostics.Debug.WriteLine("Отметка измерения '" + Sel.Dimension.Name + "'");
            System.Diagnostics.Debug.Indent();
            System.Diagnostics.Debug.WriteLine(Sel.ToString(""","False));
            System.Diagnostics.Debug.Unindent();
        End For;
        System.Diagnostics.Debug.Unindent();
    End If;
End Sub;

См. также:

IEaxObjectSelectionManager