Способ определить общее количество страниц в Reportе
Предлагаю способ определить общее количество страниц в Reportе, чтобы юзер смог увидеть вожделенное «Страница X из Y». К сожалению, работает только с режимом предварительного просмотра.
1. В стартовой процедуре определить public переменную max_page_of_report.
2. В требуемом отчёте создать в PageHeader или PageFooter поле 'Стр. '+alltrim(str(_pageno))+' из '+alltrim(str(max_page_of_report)).
3. Создать в отчёте переменную (Report/Variables) с именем current_report_last_page.
4. Поставить этой переменной галочку Release after report, и прописать Value to store: get_last_page_of_report(). Остальное оставить как есть: Initial value – 0, Calculate – nothing, Reset at: End of report.
5. Прописать в какой-нибудь общий путь функцию:
function get_last_page_of_report
if max_page_of_report<_pageno
max_page_of_report=_pageno
endif
return .t.
endfunc
6. Для предварительного просмотра исполнить такой код:
max_page_of_report=0
report form (_report_name) preview noconsole nowait
keyboard '{END}'
keyboard '{HOME}'
Всё это, конечно, сделано криво, но работает!