IncludeTotals: TriState;
Свойство IncludeTotals определяет необходимость включения нумерации для строк/столбцов, которые содержат итоговые данные.
В настройках нумерации невозможно задать формат числа и начальное значение, по умолчанию нумерация начинается с единицы.
Для выполнения примера предполагается наличие регламентного отчета с идентификатором «REGULAR_REPORT», на листе которого расположена область данных. Включите нумерацию для строк в свойствах области данных на вкладке «Размещение > Строки > Нумерация». В модуле подключите системные сборки: Metabase, Report, Drawing, Dimensions, ForeSystem (для примера Fore.NET).
Sub UserProc;
Var
Mb: IMetabase;
Numb: IPrxDataIslandNumberingLevel;
DataIsl: IPrxDataIsland;
Rep: IPrxReport;
Header: IPrxDataIslandHeader;
Level: IPrxDataIslandLevel;
DimModel: IDimensionModel;
Prop: IPrxDataIslandProperties;
PropDim: IPrxDataIslandDimension;
Begin
Mb := MetabaseClass.Active;
// Получим регламентный отчет и обратимся к области данных
Rep := Mb.ItemById("REGULAR_REPORT").Edit As IPrxReport;
DataIsl := Rep.DataIslands.Item(0).Edit;
// Определим параметры заголовков строк
Header := DataIsl.Properties.LeftHeader;
// Обратимся к объекту, который содержит измерение среза, расположенного по строкам
DimModel := DataIsl.Slice.LeftHeader.Item(0).Dimension.Dimension;
// Определим параметры уровня измерения среза
Prop := DataIsl.Properties;
PropDim := Prop.Dimension(DimModel);
Level := PropDim.Level(DimModel.Levels.Item(3));
// Зададим настройки нумерации для 4-го уровня
Numb := Header.Numbering.Level(Level);
Numb.IsOn := True;
Numb.Style.BackgroundColor := GxColor.FromName("Yellow");
Numb.Type := PrxNumberingType.Hierarchical;
Numb.IncludeTotals := TriState.OnOption;
// Сохраним изменения, внесенные в область данных, и вычислим отчет
DataIsl.Save;
Rep.Recalc;
// Сохраним изменения в структуре объекта
(Rep As IMetabaseObject).Save;
End Sub UserProc;
В регламентном отчете для четвертого уровня нумерации заголовков строк установится иерархический тип, и фон ячеек с нумерацией будет желтого цвета. В общих настройках включится объединение нумерации всех измерений.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.ForeSystem;
Public Shared Sub Main(Params: StartParams);
Var
Mb: IMetabase;
Numb: IPrxDataIslandNumberingLevel;
DataIsl: IPrxDataIsland;
Rep: IPrxReport;
Header: IPrxDataIslandHeader;
Level: IPrxDataIslandLevel;
DimModel: IDimensionModel;
Prop: IPrxDataIslandProperties;
PropDim: IPrxDataIslandDimension;
GxColorCls: GxColorClass = New GxColorClassClass();
Begin
Mb := Params.Metabase;
// Получим регламентный отчет и обратимся к области данных
Rep := Mb.ItemById["REGULAR_REPORT"].Edit() As IPrxReport;
DataIsl := Rep.DataIslands.Item[0].Edit();
// Определим параметры заголовков строк
Header := DataIsl.Properties.LeftHeader;
// Обратимся к объекту, который содержит измерение среза, расположенного по строкам
DimModel := DataIsl.Slice.LeftHeader.Item[0].Dimension.Dimension;
// Определим параметры уровня измерения среза
Prop := DataIsl.Properties;
PropDim := Prop.Dimension[DimModel];
Level := PropDim.Level[DimModel.Levels.Item[3]];
// Зададим настройки нумерации для 4-го уровня
Numb := Header.Numbering.Level[Level];
Numb.IsOn := True;
Numb.Style.BackgroundColor := GxColorCls.FromName("Yellow");
Numb.Type := PrxNumberingType.pnumtypHierarchical;
Numb.IncludeTotals := TriState.tsOnOption;
// Сохраним изменения, внесенные в область данных, и вычислим отчет
DataIsl.Save();
Rep.Recalc();
// Сохраним изменения в структуре объекта
(Rep As IMetabaseObject).Save();
End Sub;
См. также: