Итог по количеству страниц в группе
Fokewolf
Киев
Добрый день. Требуется очет с такой структурой:
PageHeader
GroupHeader
MasterData
GroupFooter
Все великолепно кроме одного "НО": Необходимо сбрасывать нумерацию страниц по группе . Для этого заголовку группы ставлю StartNewPage и ResetPageNumbers. Использую системную переменную Page. Теперь необходимо вывести в подвале группы ВСЕГО СТРАНИЦ . Так как TotalPages работает только в двухпроходном отчете (не хочется из-за этого городить второй проход), хочу вывести ту же переменную Page в подвале группы , предполагая, что это и будет всего страниц по группе. Так оно и есть, кроме одного случая - когда в MasterData строк уже нет, на следующую страницу выводится только заголовок страницы и подвал группы. В заголовке страницы значение Page, допустим , = 2 (вторая страница), а в подвале группы = 1! Оказывается, в такой ситуации BeforePrint подвала группы прилетает раньше , чем BeforePrint заголовка страницы. Почему?
PageHeader
GroupHeader
MasterData
GroupFooter
Все великолепно кроме одного "НО": Необходимо сбрасывать нумерацию страниц по группе . Для этого заголовку группы ставлю StartNewPage и ResetPageNumbers. Использую системную переменную Page. Теперь необходимо вывести в подвале группы ВСЕГО СТРАНИЦ . Так как TotalPages работает только в двухпроходном отчете (не хочется из-за этого городить второй проход), хочу вывести ту же переменную Page в подвале группы , предполагая, что это и будет всего страниц по группе. Так оно и есть, кроме одного случая - когда в MasterData строк уже нет, на следующую страницу выводится только заголовок страницы и подвал группы. В заголовке страницы значение Page, допустим , = 2 (вторая страница), а в подвале группы = 1! Оказывается, в такой ситуации BeforePrint подвала группы прилетает раньше , чем BeforePrint заголовка страницы. Почему?
Комментарии
Для вывода количества страниц правильней будет использовать подвал страницы(т.к. он не растягивается и не переносится).
Или другой вариант менять позицию у PageFooter в OnBeforePrint и печатать его сразу под GroupFooter.
В GruopFooter.OnBrforePrint сделайте так:
Спасибо, это понятно. Т.е., при Engine.NewPage агрегатные функции в подвалах групп не работают?