Ошибка работы переменных <Page> и <Page#>

Stalker4Stalker4 123
отредактировано March 2007 Раздел: FastReport 4.0
Привет All,

FR 4.0.18, D7.1
См. пример отчета в атаче.

Запускаем отчет. Он состоит из двух бандов
MasterData1 (держать подвал вместе, 38 строк данных)
Footer1 (растягиваемый)

Внимательно смотрим диалоговое окно, которое вызывается в обработчике
MasterData1OnAfterPrint.

Видим последнее сообщение в этом окне "38 - 1". То есть строка 38 относится к первой странице. Но на деле мы видим, что строка 38 напечаталась на странице 2.

Произошло это как я понимаю как раз из за опции "держать подвал вместе".
То есть получается, что FR в соответствии с этой опцией перенес одну строку на следующую страницу, а переменную <Page> перед событием AfterPrint увеличить забыл.


Можно провести еще один небольшой опыт с этим отчетом:

Отключить опцию "держать подвал вместе", убрать Footer1, а кол-во строк увеличить до 45 - это что бы посторонние факторы не влияли на опыт.
Запускаем отчет. Смотрим страницу 2 и видим, что в самой первой строке "39 - 1". то есть для этой строки почему то зафиксировалась первая страница. И это при том, что в обработчике MasterData1OnAfterPrint для строки 39 выводиться как и положено "страница 2".

В общем нужен фикс.

Комментарии

  • gpigpi
    отредактировано March 2007
    FR 4.1.44
    И в дополнение баг с подсчётом суммы в подвале страницы: на последней странице в приложенном отчёте сумма=0
  • gpigpi
    отредактировано 04:17
    FR 4.1.53
    Баг не пофиксен

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.