AggregatorFilter(DimInst: IDimInstance): IMsAggregationFilter;
DimInst. Данные справочника.
Свойство AggregatorFilter возвращает настройки фильтрации измерения приёмника данных.
Для выполнения примера предполагается наличие в репозитории алгоритма расчёта с идентификатором ALGORITHM и стандартного куба с идентификатором CUBE. В алгоритме расчёта должен содержаться блок агрегации, в кубе - измерение с идентификатором DIMENSIONS.
Добавьте ссылки на системные сборки: Algo, Cubes, Dimensions, Metabase, Ms. Также добавьте ссылки на сборки, которые необходимы для работы с алгоритмами расчёта.
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObjectDescriptor;
Algo, Aggr: ICalcObject;
List: ICalcObjectsList;
CalcAlgo: ICalcAlgorithm;
Block: ICalcAggr;
Stub: IVariableStub;
StandCub: IStandardCube;
Dim: IStandardCubeDimension;
DimInst: IDimInstance;
Filter: IMsAggregationFilter;
Selection: IDimSelection;
i: Integer;
Begin
MB := MetabaseClass.Active;
// Получим алгоритм расчёта
MObj := MB.ItemById("ALGORITHM");
Algo := CalcObjectFactory.CreateCalcObject(MObj, True);
CalcAlgo := Algo As ICalcAlgorithm;
// Получим список объектов алгоритма расчёта
List := CalcAlgo.Items;
// Получим блок агрегации
с индексом «0»
Aggr := List.Item(0);
Block := Aggr As ICalcAggr;
// Получим куб
StandCub := MB.ItemById("CUBE").Edit As IStandardCube;
Stub := StandCub As IVariableStub;
// Зададим куб в качестве приёмника данных
Block.Stub := Stub;
// Настроим фильтрацию для
указанного измерения
Dim := StandCub.Dimensions.FindById("DIMENSIONS");
DimInst := Dim.OpenDimension;
Filter := Block.AggregatorFilter(DimInst);
// Зададим отметку измерения
Selection := DimInst.CreateSelection;
For i := 0 To 4 Do
Selection.SelectElement(i, False);
End For;
Filter.AggregationSelection := Selection;
Block.SelectionControl.Apply;
// Сохраним изменения в блоке агрегации
Block.SaveObject;
End Sub UserProc;
В результате выполнения примера для блока агрегации будет задан стандартный куб в качестве приёмника данных и настроена фильтрация данных для измерения с идентификатором DIMENSIONS по первым пяти отмеченным элементам.
См. также: