для ABC:
1. Отказаться от PAGE FOOTER
2. Сделать вместо PAGE FOOTER - DETAIL. Надо установить галку PageAfter, для того, чтобы следующая страница печаталась с нового листа. В моем случае этого было достаточно, т.е. окончательные итоги у меня печатаются на отдельном листе. Как я понимаю, для вас это неприемлимо. Поэтому, я думаю, есть как минимум два варианта: устанавливать для последней страницы PROP:PageAfter или сделать еще один такой же DETAIL без атрибута PageAfter.
3. У DETAIL-а должен быть выставлен в свойствах отчета на закладке Filters фильтр (текст) FALSE - для того чтобы не печатать detail каждый раз, будем печатать его руками (я так понял, что эта процедура вам знакома). Естественно, что у detail-а должен присутствовать FEQ, например, ?DetailPageFooter.
4. Суть: полюбому известно сколько примерно будет строк на странице отчета, небольшую коррективу вносят разные принтеры, но минимум можно подобрать, на край можно вынести это в настроки отчета, допустим минимум на странице помещается 10 строк основного detail-а, естественно, что на странице должно остаться место для печати страничных итогов.
5. В точке вставки ProcessManager/TakeRecord после ParentCall(для легаси по моему AfterNextRecordRetrieval - могу ошибаться) пишем код:
Код: Выделить всё
if loc:Counter=10
print(RPT:DetailCтраничныхИтогов)
loc:Counter=0
loc:Переменная для итогов=0
end
loc:Counter+=1
loc:Переменная для итогов+=Переменная файла
Т.е. в этом месте идет расчет переменных, которые выводятся на detail и если количество основных строк отчета достигает установленного предела, то печатаем итоги, а потом их обнуляем. Переход на след. страницу произойдет полюбому.
6. В точке вставки WindowManager/TakeCloseEvent до ParentCall (в легаси BeforeCloseReport вроде) пишем:
Код: Выделить всё
if loc:Counter<>0
print(RPT:DetailCтраничныхИтоговБезPageAfter)
end
print(RPT:DetailОбщиеИтоги)
т.е. после того как весь отчет напечатан, проверяем есть ли на последней странице основные строки, если есть, то печатаем страничные итоги и печатаем потом общие итоги.
Написал много вроде, делать быстрее.
...удачи
Написал: PAA(27)