Создание экспресс-отчета

Ниже представлен пример создания нового экспресс-отчета с настройкой отображения данных. Для выполнения примера предполагается наличие в репозитории куба с идентификатором "Cube_1".

Sub Main;

Var

MB: IMetabase;

CrInfo: IMetabaseObjectCreateInfo;

Expr: IEaxAnalyzer;

Cube: ICubeInstance;

Pivot: IPivot;

Totals: IPivotEvaluatorTotals;

HighItem: IPivotHighlightItem;

Sort: IPivotSorterData;

Styles: IEaxTableStyle;

Style: ITabCellStyle;

Begin

MB := MetabaseClass.Active;

CrInfo := MB.CreateCreateInfo;

CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_EXPRESSREPORT;

CrInfo.Id := "NewExpress";

CrInfo.Parent := MB.Root;

Expr := MB.CreateObject(CrInfo).Edit As IEaxAnalyzer;

//Куб, для которого строится экспресс-отчет

Cube := MB.ItemById("Cube_1").Open(Null) As ICubeInstance;

Expr.OpenCube(Cube);

Pivot := Expr.Pivot;

//Итоги

Totals := Pivot.Evaluator.Totals;

Totals.RowTypes := PivotEvaluatorElementType.Sum + PivotEvaluatorElementType.Max;

Totals.IncludeOwner := True;

Totals.TreatEmptyAsZero := False;

//Подстветка данных в диапазоне [100;200]

HighItem := Pivot.Highlight.Add;

HighItem.ConditionType := PivotHighlightType.NLAandNGB;

HighItem.ConditionValueA := 100;

HighItem.ConditionValueB := 200;

HighItem.Area := PivotFilterArea.Table;

HighItem.Enabled := True;

//Сортировка по столбцам

Sort := Pivot.Sorter.ColumnsDataSort;

Sort.SortDirection(0) := PivotSortDirection.Asc;

//Настройка стилей отображения

Styles := Expr.Grid.Style;

//Стиль отображения итоговых значений

Style := Styles.TotalsStyle;

Style.HorizontalAlignment := TabFormatAlignment.Center;

Style.BackgroundColor := GxColor.FromName("LightGray");

Style.Font.Color := GxColor.FromName("Red");

//Стиль отображения подсвеченных ячеек

Style := Styles.HighlightedStyle;

Style.BackgroundColor := GxColor.FromName("Yellow");

Style.Font.Bold := TriState.OnOption;

Style.Font.Color := GxColor.FromName("Blue");

(Expr As IMetabaseObject).Save;

End Sub Main;

После выполнения примера в корневом каталоге репозитория для указанного куба будет создан новый экспресс-отчет. В таблице с данными по столбцам будут отображаться итоги: сумма значений и максимальное значение. Значения, находящиеся в диапазоне [100;200], будут подсвечены синим цветом на желтом фоне. Для первого столбца будет включена сортировка по возрастанию значений.

См. также:

Примеры