Форум » » Принудительный перевод страницы в отчетах или как избежать печати последней пустой страницы » Ответить

Принудительный перевод страницы в отчетах или как избежать печати последней пустой страницы

galkud: [quote]Monday, July 5, 2010, 1:12:20 PM, you wrote: Понадобилось печатать с/ф списком - всё работает, но генерируется пустая страница в конце, т.к. использую конструкцию [Detal>>][_page_][act_id>][act.dbf>] Можно ли как-то избежать печати последней пустой страницы?[/quote] Существует несколько способов: 1. Последнею страницу в отдельный файл, на последнем листе без _page_, т.е в одном шаблоне два отчета [<reestr_1-99.dbf] [<Detal] данные c 1 по 99 С/ф [Detal>] [_page_] [reestr_1-99.dbf>] [<reestr_100.dbf] [<Detal] данные 100 (последней) с/ф [Detal>] [reestr_100.dbf>] 2. Придется считать страницы и вводить доп. группировку используя расширенное форматирование Пример: http://galkud.borda.ru/?1-0-0-00000010-000-0-0-1267816000 "{bsl}" = "\" {bsl}page {bsl}line iif(m.nn=1 or m.nn%2=0,"","{bsl}page") Заводим в табличке поле myPage, далеее при подготовке файла select myTable i=0 scan all i =i+1 replace myPage with iif( i=20,"{bsl}page","") if i=20 then i = 0 endif endscan в шаблоне: [<myTable.dbf] [<Detal] [Name] [feild2] [feild3] [feild4] [feild5] [myPage] [Detal>] [myTable.dbf>] 3. Вывод перевода страницы через каждые 20 строк детализации в отчете с использование [_page_] и доп группировкой select myTable i=0 p = 1 scan all i =i+1 if i=20 then p = p + 1 i = 0 endif replace myPage with p endscan в шаблоне группировка по myPage: [<myTable.dbf] [<myPage] [<Detal] [Name] [feild2] [feild3] [feild4] [feild5] [Detal>] [_page_] [myPage>] [myTable.dbf>] 4. :) Можете на последней странице вывести статистику количество листов = ... и реестр номеров

Ответов - 1

Boban: А если ввести еще одну команду [_page1_] , в которой предусмотреть перевод страницы только в случае , если обрабатываемая таблице не в состоянии eof()



полная версия страницы