Проектирование формы отчета по ресурсам Назад В начало Вперед

Рис. 9. Лист 1. Форма отчета "Справка по запланированным ресурсам"

ReportTitle

Выводится один раз в начале отчета.

PageHeader

Выводится в начале каждой страницы отчета кроме первой (свойство PrintOnFirstPage выключено).

По событию OnBeforePrint выполняется скрипт PageHeader1OnBeforePrint.

Данный скрипт обеспечивает печать в верху каждой страницы отчета (кроме последней) текста "Продолжение справки ... ". А на последней странице печатается "Окончание справки ... ".

MasterData

Бенд MasterData содержит два поля (Memo32 вверху и Memo33 внизу) с включенным свойством "Линии подчеркивания". Оба поля по событию OnBeforePrint выполняют скрипт обеспечивающий выделение строк, относящихся к проекту (для них уровень вложенности PRJLEVEL = 0).

Для Memo32 выполняется скрипт Memo32OnBeforePrint, для Memo33 выполняется скрипт Memo33OnBeforePrint.

Header

Бенды Header выводят шапки таблиц для исполнителей и для материалов. По событию OnBeforePrint в этих бендах выполняются скрипты DetailHeader1OnBeforePrint и DetailHeader2OnBeforePrint.

Данный скрипт отключает вывод заголовка, если в настройке был запрошен краткий отчет. Кроме того, проверяется размер свободного места на странице: его должно хватать на заголовок и как минимум на одну строку данных. Тем самым блокируются "зависшие" заголовки.

DetailData

Бенды DetailData выводят строки данных для исполнителей и для материалов. По событию OnBeforePrint в этих бендах выполняются скрипты DetailData1OnBeforePrint и DetailData2OnBeforePrint.

Скрипты выбирают цвет текущей строки в зависимости от того, четная она или нечетная. Если в настройке был запрошен краткий отчет, то выключается вывод данных по ресурсам.

В полях бендов DetailData выполняются скрипты, включающие вывод поля текущим цветом для строки.

Footer

Бенды Footer выводят итоговые строки для исполнителей и для материалов.

В полях бендов Footer выводятся итоговые суммы по соответствующим полям (суммируемое поле и бенд меняются):

[SUM(<PRJMATERIALS."MATSUMMP">, DetailData2);]

По событию OnBeforePrint в этих бендах выполняются скрипты, выбирающие цвет текущей строки в зависимости от того, четная она или нечетная. Т.к. сквозная нумерация строк не ведется, для определения четности строки используется значение, сохраненное в обработчике бенда DetailData (lastLine - номер последней строки, выведенной в DetailData).

Если в настройке был запрошен краткий отчет, то выключается вывод итоговых сумм по ресурсам.

Child

Бенды Child выводят диаграммы для исполнителей и для материалов. По событию OnBeforePrint выполняется скрипт, включающий /выключающий показ диаграмм в соответствии с настройкой отчета.