IPivot.RebuildCompounds

Синтаксис

RebuildCompounds;

RebuildCompounds();

Описание

Метод RebuildCompounds осуществляет перестроение составных измерений.

Комментарии

Метод работает в рамках блокировки изменений в отметке и перерисовки таблицы. Используется при применении настроек управляющего измерения в кубе и расширенного фильтра.

Пример

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

Модуль подключается в качестве пользовательской кнопки в форму ввода.

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

Public Sub RebuildCompounds(report: IPrxReport);
Var
    pivot: IPivot;
    grid: IEaxGrid;
    version_index: integer;
    selComp, sel, selCarr: IDimSelection;
Begin
    
//Получаем табличную область
    grid := report.DataArea.Views.FindById("AREA1"As IEaxGrid;
    
// Получаем основу таблицы
    pivot := grid.Pivot;
    
// Останавливает перестроение таблицы и отметки
    pivot.BeginUpdate;
    pivot.BeginSelectionUpdate;
    
// Получаем отметку составного измерения
    selComp := pivot.Selection.FindById("FACTS_COMPOUND");
    sel := ((selComp 
As ICompoundSelection).Selection.Item(0As ICompoundSelection).Selection.FindById("DIM");
    
// Снимаем отметку элементов
    sel.DeselectAll;
    
// Добавляем элемент в отметку
    version_index := 3;
    sel.SelectElement(version_index, 
False);
    
// Перестраиваем составное измерение
    pivot.RebuildCompounds;
    
// Повторно получаем отметку составного измерения
    selComp := pivot.Selection.FindById("FACTS_COMPOUND");
    selCarr := ((selComp 
As ICompoundSelection).Selection.Item(0As ICompoundSelection).Selection.FindById("DIM");
    
// Возобновляем перестроение отметки и таблицы
    pivot.EndSelectionUpdate;
    pivot.EndUpdate;
End Sub RebuildCompounds;

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

Public Class Module
Public Sub RebuildCompounds(report: IPrxReport);
Var
    pivot: IPivot;
    grid: IEaxGrid;
    version_index: uinteger;
    selComp, sel, selCarr: IDimSelection;
Begin
    
//Получаем табличную область
    grid := report.DataArea.Views.FindById("AREA1"As IEaxGrid;
    
// Получаем основу таблицы
    pivot := grid.Pivot;
    
// Останавливает перестроение таблицы и отметки
    pivot.BeginUpdate();
    pivot.BeginSelectionUpdate();
    
// Получаем отметку составного измерения
    selComp := pivot.Selection.FindById("FACTS_COMPOUND");
    sel := ((selComp 
As ICompoundSelection).Selection.Item[0As ICompoundSelection).Selection.FindById("DIM");
    
// Снимаем отметку элементов
    sel.DeselectAll();
    
// Добавляем элемент в отметку
    version_index := 3;
    sel.SelectElement(version_index, 
False);
    
// Перестраиваем составное измерение
    pivot.RebuildCompounds();
    
// Повторно получаем отметку составного измерения
    selComp := pivot.Selection.FindById("FACTS_COMPOUND");
    selCarr := ((selComp 
As ICompoundSelection).Selection.Item[0As ICompoundSelection).Selection.FindById("DIM");
    // Возобновляем перестроение отметки и таблицы
    pivot.EndSelectionUpdate();
    pivot.EndUpdate();

End Sub RebuildCompounds;
End Class;

В результате выполнения примера после нажатия пользовательской кнопки будет перестроена табличная область формы ввода.

См. также:

IPivot