31.01.2006, 12:05 | #1 |
Участник
|
Уважаемые, форумцы!
Есть желание печатать отчеты с информацией на каждом листе типа: "Лист 1 из 23" Причем, заранее не известно сколько будет листов в отчете. Есть у коого-нибудь идеи, как это реализовать? P.S. Информация типа: "Лист 1" не подходит. |
|
31.01.2006, 12:08 | #2 |
Участник
|
|
|
31.01.2006, 12:33 | #3 |
Участник
|
"Лист 1 из 23" - это пример.
Когда отчет запускается, не известно сколько в итоге страниц будет содержать отчет. А когда отчет выдал результат, то оказалось, что он размещается, например, на 23 страницах. Т.е. запускается один и тотже отчет в зависимости от кол-во отображаемой информации в одном случае выдает, например, 23 страницы в другом 13. Так вот, хочется, что бы на странице первой было написано: "Лист 1 из 23" - в первом случае, и "Лист 1 из 13" - во втором случае соответсвенно. |
|
31.01.2006, 12:40 | #4 |
Участник
|
это только идея, но может возможно "прогнать" отчет дважды, первый раз - "в холостую", чтобы в конце получить кол-во страниц, а второй - уже как пологается?!
PS это всего лишь идея, сама не знаю, возможно ли такое вытворить |
|
31.01.2006, 13:47 | #5 |
Участник
|
Цитата:
Выводите отчет первый раз на preview. Смотрите, сколько страниц получилось. И заполняете значение этого поля руками. |
|
31.01.2006, 14:40 | #6 |
Участник
|
Цитата:
Сообщение от Eugeny_F
Цитата:
Выводите отчет первый раз на preview. Смотрите, сколько страниц получилось. И заполняете значение этого поля руками. А если отчет "долгий", то пользователь просто обрадуется. |
|
31.01.2006, 15:13 | #7 |
Moderator
|
Самый простой алгоритм был уже предложен.
1) Заводим секцию типа Footer, в которой будет код, сохраняющий в глобальную переменную количество страниц 2) В каждую секцию добавляем CurrReport.SHOWOUTPUT(NOT TestFlag) При первом запуске report'а, устанавливаем флаг TestFlag, прогоняем отчет в холостом режиме, после чего флаг TestFlag сбрасываем и формируем отчет нормально |
|
31.01.2006, 15:50 | #8 |
Участник
|
Цитата:
Сообщение от tyrex
Самый простой алгоритм был уже предложен.
1) Заводим секцию типа Footer, в которой будет код, сохраняющий в глобальную переменную количество страниц 2) В каждую секцию добавляем CurrReport.SHOWOUTPUT(NOT TestFlag) При первом запуске report'а, устанавливаем флаг TestFlag, прогоняем отчет в холостом режиме, после чего флаг TestFlag сбрасываем и формируем отчет нормально |
|
31.01.2006, 16:05 | #9 |
Moderator
|
Цитата:
Так, если секции не отбражаются, то как страницы будут считаться?
А потом делим на 297 минус TopMargin минус Bottom Margin |
|
31.01.2006, 16:33 | #10 |
Участник
|
Цитата:
Вобщем у нас сейчас прайс в Excel практически так же страницы считает Думал может в Navision можно как-то по другому |
|