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