Проектирование разделы данных справки по исполнителям |
Рис. 13. Страница данных отчета "Справка по исполнителям"
Выводится в начале каждой страницы отчета кроме первой (свойство PrintOnFirstPage выключено).
По событию OnBeforePrint выполняется скрипт PageHeader1OnBeforePrint.
Данный скрипт обеспечивает печать в верху каждой страницы отчета (кроме последней) текста "Продолжение справки ... ". А на последней странице печатается "Окончание справки ... ".
Бенд Header содержит названия колонок.
Обратите внимание, что поле "Коды проектов" лежит на пересечении Header и CrossHeader, что обеспечивает его отображение в отчете. А фактическое расположение этого поля вычисляется в скрипте MemoHdrItogOnBeforePrint, который выполняется по событию OnBeforePrint поля "Итого по исполнителю".
Бенд GroupHeader организует группирование данных по подразделениям: свойство Condition имеет значение <PERSBYDEP."PSNDEPARTMENT">.
По событию OnBeforePrint выполняется скрипт GroupHeader1OnBeforePrint. Он обнуляет переменные, в которых накапливается итог по подразделению.
На пересечении с CrossData лежат поля, выводимые в горизонтальном цикле (фонд времени и фонд оплаты сотрудника по проектам).
На пересечении с CrossFooter выводится итог по строке, т.е. суммарные фонд времени и фонд оплаты сотрудника:
[SUM(<STAFFUSAGE."SUQUANTP">)] [SUM(<STAFFUSAGE."SUSUMMP">)]
В этих же полях лежат скрипты, накапливающие итоговую сумму по столбцу CrossFooter (Memo18OnBeforePrint и Memo50OnBeforePrint). Скрипты выполняются по событию OnBeforePrint.
На пересечении с CrossData выводится итог по столбцу, т.е. суммарные фонд времени и фонд оплаты по проекту:
[SUM(<STAFFUSAGE."SUQUANTP">, Band1)] [SUM(<STAFFUSAGE."SUSUMMP">, Band1)]
На пересечении с CrossFooter выводится накопленный итог по подразделению: sum1 и sum2.
Задает ширину первого столбца отчета, т.е. левую границу группы бендов CrossData.
Организует горизонтальный цикл.
Организует последний столбец отчета.