Уже несколько раз наталкивался на вопрос по поводу печати шапки таблицы на каждой страницы отчета кроме первой. Решений данного вопроса несколько. Эта статья представляет одно из решений.
Задача:
Создать отчет. На первой странице напечатать общий заголовок отчета.
На последующих страницах печатать только заголовок таблицы.
Или, что тоже, напечатать общий заголовок, под ним напечатать PageHeader на первой странице а на всех последующих только PageHeader.
Реализация:
Нужно создать дополнительный Detail (к примеру Detail1) на котором мы разместим заголовок отчета, который будет печататься на первой странице.
У вновь созданного Detail1 обязательно установите FEQ (к примеру: ?Detail1)
Как видите на рисунке продублирована информация (номера уолонок) из PageHeader на Detail`е
На Detail1 так же положим белый бокс шириной во всю ширину PageHeader и высотой немногим больше высоты PageHeader.
На всех последующих страницах мы будем печатать только номера колонок… т.е. то что создали в PageHeader`е
Позицию Ypos для Detail1 нужно установить как отрицательный размер по высоте PageHeader. Т.е. Если ваш PageHeader высотой 400/1000 дюйма то, Ypos для Detail1 нужно установить равным -400/1000 дюйма.
Отключаем печать нашего Detail1 в настройках отчета. Report Properties->Filters
Для того что бы Detail1 печатался только на первой странице в точку вставки (см рис.) добавим код
На этом все!
Как это работает:
PageHeader печатается на всех страницах, и на первой в том числе.
При открытии отчета печатаем Detail1 и т.к. у него установлена отрицательная позиция по высоте, он накрывает PageHeader на первой странице. Для того чтобы Detail1 на первой странице накрыл PageHeader мы и разместили белый бокс в соответствующем месте Detail1.
Скачать пример: Печать шапки на всех страницах отчета
В примере смотреть первый отчет в менюшке …