Технология построения кросс

advertisement
Технология построения кросс-отчетов по версиям
1. Создаем обычный шаблон отчета по слою.
2. С помощью кнопки «Выбрать из стандартных» выбираем три вида колонок:
a. Колонки для ключевых полей, по которым будут сгруппированы данные
b. Колонку для поля «UpdateGroupIndex»
c. Колонку суммы
3. Если нужно, создаем дополнительные вычислимые колонки.
4. Упорядочиваем колонки: сначала идут ключевые поля и вычислимые, потом
UpdateGroupIndex, потом поле суммы.
5. Настраиваем колонку UpdateGroupIndex:
6. Добавляем вычислимое поле «UpdateGroupName» для разыменовки поправки (имя
поля обязательно такое). Помещаем колонку для этого поля сразу после колонки
«UpdateGroupIndex». Настраиваем колонку:
7. Настраиваем колонку суммы:
8. Добавляем вычислимую колонку для вывода исходной суммы из сборки (имя поля
может быть любое). Размещаем колонку непосредственно перед колонкой
«UpdateGroupIndex». Настраиваем колонку:
9. Добавляем вычислимую колонку для расчета разницы суммы между поправками
(имя поля и колонки может быть любое). Помещаем колонку непосредственно
перед колонкой суммы. Настраиваем колонку:
10. В настройках шаблона устанавливаем значение параметра «Настройки таблицы /
Количество строк над таблицей, которые нужно сдвигать»: нужно поставить 3 или
более (количество строк, содержащих шапку отчета). Под кросс-колонки требуется
как минимум 3 строки: одна с общим заголовком (заголовок колонки
UpdateGroupName), вторая – под названия поправок (значения поля
UpdateGroupName), третья – заголовки сумм.
11. Рисуем шаблон: кнопкой «Задать ячейку таблицы» задаем ячейку, с которой
начнется вывод массива данных, а кнопкой «Установить бордюры и названия
столбцов» рисуем саму таблицу.
12. Открываем колонки с разницей и суммой, и переносим текст заголовков этих двух
колонок из верхней строки заголовков в нижнюю. После этого опять скрываем.
13. Прописываем в таблице заголовок отчета и прочие атрибуты отчета.
14. В параметрах шаблона прописываем скрипт итогов. Задача скрипта – скрыть
лишние колонки, которые добавит алгоритм построения кросс-отчета для вывода
исходных сумм из сборки (суммы с пустым значением поля UpdateGroupIndex).
Поскольку исходные суммы мы показали в отдельной колонке, которая не является
кросс-результатом, то в кросс-результатах нам эти суммы показывать уже не имеет
смысла.
Колонки, которые необходимо скрыть, будут самыми первыми из автоматически
созданных алгоритмом кросс-отчетов, поэтому их индексы легко вычислить исходя
из индекса колонки исходной суммы:
15. На странице «Параметры-ограничения» редактора шаблона прописываем
дополнительный параметр «Поправки.СохранятьПромежуточныеРезультаты»,
который указывает алгоритму применения поправок раскрыть промежуточные
результаты расчетов в разрезе поправок:
16. Сохраняем шаблон.
17. Регистрируем отчет на интерфейсе «Администратор отчетов». В конфигурации
отчета в поле «Параметры» вручную добавляем параметры с именами
«$Modifications.Document» и «$Modifications.List». Эти параметры позволят
выбрать документ, по которому будет определена исходная сборка данных слоя и
перечень поправок, а также выбрать из списка нужные поправки для вывода в
отчет.
18. Также в конфигурации отчета прописываем два расширения в поле
«Дополнительная информация»:
<РассчитатьРазницуПоправок ИмяПоляСуммы="Сумма" ИмяПоляРазницы="Разница"/>
<РазыменоватьПоправкиВСлое Формат="[Номер] - [Название]"/>
Первое расширение позволяет рассчитать разницу между суммами после
применения каждой поправки (по сути, сумму самой поправки). Параметрами
расширения указывается имя поля (не колонки!!!) в шаблоне отчета, в котором
содержится сумма, и имя поля, в которое будет помещен результат: разница сумм
по поправкам.
Второе расширение позволяет разыменовать ссылки на поправки, чтобы вывести
их в заголовки колонок. В параметре «Формат» указываем формат строки, которую
нужно сформировать для заголовков колонок. Можно использовать значения полей
«Номер» и «Название». При этом номер в формате должен обязательно
присутствовать, и должен быть первым, чтобы данные были правильно
упорядочены, и кросс-колонки вывелись в нужном порядке.
19. Выкладываем отчет на рабочее место, и убеждаемся, что основная часть работы
сделана:
Download