Баг или я что-то не так делаю?
Есть простенький отчёт: PageHeadre и PageFooter - чтобы на каждой странице было (там шапка бланка и подписи с датами соответственно). В середине Header (на нём шапка таблицы) и MasterData (сами данные таблицы). Идея в том, что если данные не влезают на один лист, то при переносе автоматом получается два и т.д. листа со своими шапкой и подписями. Здесь возникает проблема с нумерацией: она сквозная. А надо, что бы на следующем листе она начиналась с единицы. С Line и Line# мне ничего сделать не удалось - не сбрасываются они. Пришлось завести переменную и сбрасывать её после печати Header и увеличивать на единицу после печать MasterData. И вроде все хорошо в теории, но на практике получается то, что видно на картинке: на каждом следующем листе первая строчка имеет неправильный номер. Вот я и не пойму - я накосячил, или бага такая? А может фича?
Вот сваял примерчик:
Вот сваял примерчик:
Комментарии
Добавлю, что эти переменные и не должны сбрасываться на новой странице.
To -=Den=-: Прежде чем отвечать и отправлять к документации, неплохо бы скачать тестовый отчет и посмотреть в чем проблема. Там сразу станет ясно, что Line и Line# там никаким боком не затрагиваются и речь вообще не о них...
Возможно, не дочитал ваше сообщение
По поводу скрипта - это нормально поведение, бэнд сначала выводится с вызовом всех событий и только потом переносится при нехватке места.
Для корректной работы в OnAfterCalcHeight проверяйте высоту бэнда и тут же переносите его.
В этом же событии прибавляйте к своей переменной.
Вот отчёт:
А для сложных (растягиваемых) придется делать 2 прохода и использовать OnAfterCalcHeight для вычисления высоты (т.к. он может меняться).
Пример отчета, который может растягиваться приложен.
Уф, теперь вроде правильно работает.
Т.е. этот вариант для фиксированных размеров бенда.
отчет работает, просто забыл убрать обнуление переменной из Header1OnAfterPrint, оно там не нужно.
Вместо Newpage там обнуляется переменная