Команда SetupAggregations

Назначение

Вызов диалога настройки основного механизма агрегации.

Параметры использования

Параметры команды передаются в свойстве IUiCommandExecutionContext.Data. Для работы команды в данном свойстве необходимо указать массив типа Variant, элементы которого содержат следующие значения:

Тип значения Описание
Элемент 1: IMatrixAggregatorModel Настройки основного механизма агрегации.
Элемент 2: IDimensionModel Структура справочника - измерения куба.
Элемент 3: IStandardCubeDestination Вариант отображения куба.
Элемент 4: IDimLevel Уровень справочника.

Пример

Для выполнения примера разместите на форме компонент Button с наименованием «Button1». В репозитории должен содержаться стандартный куб с идентификатором STD_CUBE.

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

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

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    MB: IMetabase;
    Cube: IStandardCube;
    DimModel: IDimensionModel;
    Dim: IStandardCubeDimension;
    Destination: IStandardCubeDestination;
    Model: IMatrixAggregatorModel;
    Data: Array;
    Target: IUiCommandTarget;
    Context: IUiCommandExecutionContext;
Begin
    // Получим текущий репозиторий
    MB := MetabaseClass.Active;
    // Получим стандартный куб
    Cube := MB.ItemById("STD_CUBE").Edit As IStandardCube;
    // Получим первый вариант отображения куба
    Destination := Cube.Destinations.Item(0);
    // Получим первое измерение куба и его структуру
    Dim := Destination.Dimensions.Item(1);
    DimModel := Dim.Dimension;
    // Зададим параметры агрегации измерения по факту куба
    Model:= Dim.Aggregator(1, Destination);
    Data := New Variant[4];
    Data[0]:= Model;
    Data[1]:= DimModel;
    Data[2]:= Destination;
    Data[3]:= DimModel.Levels.Item(1);
    // Вызовем диалог настройки основного механизма агрегации
    Target := WinApplication.Instance.GetPluginTarget("Cubes");
    Context := Target.CreateExecutionContext;
    Context.Data := Data;
    // Выполним команду над объектом
    Target.Execute("SetupAggregations", Context);
    // Сохраним изменения
    (Cube As IMetabaseObject).Save;
End Sub Button1OnClick;

В результате выполнения примера при нажатии на кнопку будет открыто окно «<наименование измерения> - Основной механизм агрегации» для настройки основного механизма агрегации. Если в окне будут внесены какие-либо изменения и нажата кнопка «ОК», то все изменения будут сохранены.

См. также:

IUiCommandTarget.Execute