Universal Accounting SL

Сводная таблица F1Reports

Требования и ограничения:

Механизм построения сводной таблицы на базе отчетов, построенных по технологии F1Reports, состоит из двух этапов:

Master/Detail:
Для построения сводной таблицы отчет должен содержать Master-запрос и НЕ содержать Detail-запрос.

Количество столбцов:
При построении сводной таблицы в отчете появляется несколько новых столбцов, количество которых заранее неизвестно и определяется только входными данными и параметрами настройки. Тем не менее существует техническое ограничение на количество столбцов в электронной таблице FormulaOne (255), а также есть разумное ограничение - при количестве столбцов, большем 100, пользователю трудно охватить вниманием такой большой объем информации. Поэтому на первом этапе при количестве добавляемых столбцов больше 200 процесс прерывается с сообщением "Too many fields in the pivot table!".

Параметры настройки:

Настройка режима построения сводной таблицы заключается в создании набора параметров в секции отчета. Эти параметры приведены в следующей таблице:


Главный параметр, управляющий всеми остальными:
НазваниеТипЗначение
F1PivotBoolean Включение режима генерации сводной таблицы

Следующие 4 параметра (типа String) - это списки полей, разделенных запятыми
(имена несуществующих полей игнорируются, не указанные ни в одном списке поля не попадают в результирующий отчет)
НазваниеЗначение
F1PivotFields Поля, по значениям которых строится сводная таблица
F1PivotKeys Поля, по значениям которых группируются строки
F1PivotSums Поля, значения которых суммируются в столбцах сводной таблицы
F1PivotTotals Поля, значения которых суммируются вне сводной таблицы

Следующие параметры (типа Boolean) - это необязательные флаги,
управляющие внешним видом сводной таблицы
НазваниеЗначение
по умолч.
Значение
F1SetColWidthAutotrue Автоподбор ширины столбцов
F1PvtAlternateMethodicfalse Использовать новый алгоритм (без неявных коммитов)
F1PvtBuildAllTotalSumsfalse Генерация итогов по строке по всем суммовым полям
F1PvtPreserveEmptySumsfalse Не удалять пустые столбцы сводной таблицы
F1PvtSumsInsideOfPivotfalse Размещать рядом все суммы, относящиеся к одному значению
F1PvtVirtualMergeCellsfalse Визуальное объединение ячеек шапки (взамен реального объединения)

Дополнительные параметры (типа String)
НазваниеЗначение
F1Pvt_GroupField Поле, по которому производится группировка сводной таблицы
F1Pvt_TotalsCaption Заголовок итоговых столбцов сводной таблицы

Подробнее о каждом параметре:

F1Pivot
Этот параметр определяет, будет ли строиться сводная таблица. Он позволяет временно выключить уже настроенную конфигурацию для построения отчета в исходном виде.

F1PivotFields
Это список ключевых полей, по которым разворачивается сводная таблица.
Отсутствующие поля игнорируются, но хотя бы одно поле должно быть определено и существовать в наборе данных.
Столбцы исходного шаблона, соответствующие этим полям, удаляются во временном шаблоне, и для каждого из этих полей добавляется отдельная строка шапки. Эти строки размещаются выше или ниже шапки исходного отчета в зависимости от параметра F1PvtSumsInsideOfPivot

F1PivotKeys
Это список ключевых полей, по которым группируются входные данные.
Отсутствующие поля игнорируются, и при полном отсутствии таких полей сводная таблица будет содержать всего одну строку данных.
Столбцы исходного шаблона, соответствующие этим полям, сохраняются в шаблоне на своем месте.

F1PivotSums
Это список агрегатных (т.е. количественно-суммовых) полей, значения которых разносятся по столбцам сводной таблицы в зависимости от значения ключей.
Отсутствующие поля игнорируются, но хотя бы одно поле должно быть определено и существовать в наборе данных.
Столбцы исходного шаблона, соответствующие этим полям, дублируются во временном шаблоне, образуя содержимое сводной таблицы.
Для формирования итогов по строке по некоторым из этих полей имена этих полей нужно указать с символом '+' в конце (слитно), например: CANT+,SUMA

F1PivotTotals
Это список агрегатных (т.е. количественно-суммовых) полей, значения которых суммируются при группировке входных данных.
Отсутствующие поля игнорируются, и их может не быть вовсе.
Столбцы исходного шаблона, соответствующие этим полям, сохраняются в шаблоне на своем месте.
Такие поля можно применять для формирования итогов по строке.

F1SetColWidthAuto
Автоподбор ширины столбцов обычно удобен, но иногда он искажает внешний вид отчета - в этом случае его можно отключить, установив значение этого параметра "false"

F1PvtAlternateMethodic
Для большинства отчетов настоятельно рекомендуется устанавливать значение этого параметра "true". Это приведет к использованию более нового и быстрого алгоритма без использования операторов DDL и соответственно без неявных коммитов.

F1PvtBuildAllTotalSums
Вместо того, чтобы указывать признак генерации итогов по строке для всех столбцов сводной таблицы, можно установить значение этого параметра "true"

F1PvtPreserveEmptySums
Для уменьшения числа столбцов те столбцы сводной таблицы, в которые не попадает ни одного значения, удаляются из таблицы. Если же надо выводить все столбцы, включая пустые, можно установить значение этого параметра "true"

F1PvtSumsInsideOfPivot
Значение этого параметра легче всего понять на практике.
Нормальный режим построения сводной таблицы - каждый столбец отчета, соответствующий агрегатному полю из списка F1PivotSums, превращается в набор столбцов для разных значений ключей. При этом новые строки шапки добавляются к ней снизу.
При установке значения этого параметра "true" столбцы сводной таблицы перегруппируются таким образом, чтобы все суммы одного значения ключа оказались рядом. При этом новые строки шапки добавляются к ней сверху.

F1PvtVirtualMergeCells
Новые строки шапки почти всегда содержат значения, объединяющие несколько столбцов. Поэтому содержащие их ячейки объединяются для удобства восприятия.
Если по каким-то причинам объединение ячеек становится нежелательным, установка значения этого параметра "true" приводит к визуальному объединению ячеек - между ними удаляются разделительные линии, и содержимое всех ячеек, кроме центральной в группе, очищается. Внешне это выглядит как реальное объединение (особенно для нечетного или достаточно большого количества ячеек).

F1Pvt_GroupField
Вместо того, чтобы строить шапку значений столбцов сводной таблицы в области заголовка, ее можно построить в строке группировки по какому-то полю. Для этого достаточно установить значение этого параметра как имя нужного поля.

F1Pvt_TotalsCaption
Этот параметр позволяет задать настандартный заголовок для итоговых столбцов сводной таблицы (стандартный заголовок выглядит как "(...)").

Настройка отчета или печатной формы для использования сводной таблицы:

Вставить все эти свойства одновременно можно при помощи команды "Вставить св-во" в программе Administrator на узле конкретного отчета или печатной формы, предварительно скопировав в буфер обмена следующий текстовый фрагмент: