AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.01.2006, 12:05   #1  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Уважаемые, форумцы!

Есть желание печатать отчеты с информацией на каждом листе типа:

"Лист 1 из 23"

Причем, заранее не известно сколько будет листов в отчете.

Есть у коого-нибудь идеи, как это реализовать?

P.S. Информация типа: "Лист 1" не подходит.
Старый 31.01.2006, 12:08   #2  
Scorpie is offline
Scorpie
Участник
 
239 / 10 (1) +
Регистрация: 25.10.2004
Адрес: Moskow
Цитата:
Сообщение от Fordewind Посмотреть сообщение
Есть желание печатать отчеты с информацией на каждом листе типа:
"Лист 1 из 23"

Причем, заранее не известно сколько будет листов в отчете.
Не понял логики...
Нужно чтобы всегда "из 23" печатало раз неизвестно сколько будет
Старый 31.01.2006, 12:33   #3  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
"Лист 1 из 23" - это пример.
Когда отчет запускается, не известно сколько в итоге страниц будет содержать отчет. А когда отчет выдал результат, то оказалось, что он размещается, например, на 23 страницах.

Т.е. запускается один и тотже отчет в зависимости от кол-во отображаемой информации в одном случае выдает, например, 23 страницы в другом 13. Так вот, хочется, что бы на странице первой было написано:

"Лист 1 из 23" - в первом случае,
и "Лист 1 из 13" - во втором случае соответсвенно.
Старый 31.01.2006, 12:40   #4  
TanyaV_imported is offline
TanyaV_imported
Участник
 
66 / 10 (1) +
Регистрация: 25.04.2005
это только идея, но может возможно "прогнать" отчет дважды, первый раз - "в холостую", чтобы в конце получить кол-во страниц, а второй - уже как пологается?!
PS это всего лишь идея, сама не знаю, возможно ли такое вытворить
Старый 31.01.2006, 13:47   #5  
Eugeny_F is offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Регистрация: 18.11.2003
Адрес: Москва
Цитата:
Сообщение от TanyaV Посмотреть сообщение
это только идея, но может возможно "прогнать" отчет дважды, первый раз - "в холостую", чтобы в конце получить кол-во страниц, а второй - уже как пологается?!
PS это всего лишь идея, сама не знаю, возможно ли такое вытворить
Могу дать типично консультантский совет. Вытворить такое проще простого. Для этого надо вывести поле "Количество страниц отчета" в Request Form. А дальше все очень просто:
Выводите отчет первый раз на preview. Смотрите, сколько страниц получилось. И заполняете значение этого поля руками.
Старый 31.01.2006, 14:40   #6  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от Eugeny_F Посмотреть сообщение
Цитата:
Сообщение от TanyaV Посмотреть сообщение
это только идея, но может возможно "прогнать" отчет дважды, первый раз - "в холостую", чтобы в конце получить кол-во страниц, а второй - уже как пологается?!
PS это всего лишь идея, сама не знаю, возможно ли такое вытворить
Могу дать типично консультантский совет. Вытворить такое проще простого. Для этого надо вывести поле "Количество страниц отчета" в Request Form. А дальше все очень просто:
Выводите отчет первый раз на preview. Смотрите, сколько страниц получилось. И заполняете значение этого поля руками.
Это конечно выход, но крайний. А хочется чего-то "большого и светлого".
А если отчет "долгий", то пользователь просто обрадуется.
Старый 31.01.2006, 15:13   #7  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
Самый простой алгоритм был уже предложен.

1) Заводим секцию типа Footer, в которой будет код, сохраняющий в глобальную переменную количество страниц
2) В каждую секцию добавляем CurrReport.SHOWOUTPUT(NOT TestFlag)

При первом запуске report'а, устанавливаем флаг TestFlag, прогоняем отчет в холостом режиме, после чего флаг TestFlag сбрасываем и формируем отчет нормально
Старый 31.01.2006, 15:50   #8  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от tyrex Посмотреть сообщение
Самый простой алгоритм был уже предложен.

1) Заводим секцию типа Footer, в которой будет код, сохраняющий в глобальную переменную количество страниц
2) В каждую секцию добавляем CurrReport.SHOWOUTPUT(NOT TestFlag)

При первом запуске report'а, устанавливаем флаг TestFlag, прогоняем отчет в холостом режиме, после чего флаг TestFlag сбрасываем и формируем отчет нормально
Так, если секции не отбражаются, то как страницы будут считаться?
Старый 31.01.2006, 16:05   #9  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
Цитата:
Так, если секции не отбражаются, то как страницы будут считаться?
Ну мы же знаем SectionHeight каждой секции? Умножаем число проходов секции на эту высоту и в итоге получаем суммарную высоту отчета в 1/100 мм.

А потом делим на 297 минус TopMargin минус Bottom Margin
Старый 31.01.2006, 16:33   #10  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от tyrex Посмотреть сообщение
Цитата:
Так, если секции не отбражаются, то как страницы будут считаться?
Ну мы же знаем SectionHeight каждой секции? Умножаем число проходов секции на эту высоту и в итоге получаем суммарную высоту отчета в 1/100 мм.

А потом делим на 297 минус TopMargin минус Bottom Margin
Нда...
Вобщем у нас сейчас прайс в Excel практически так же страницы считает
Думал может в Navision можно как-то по другому
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:36.