Когда в PageFooter'e появляется значение COUNT()?
Мне надо в подвале страницы напечатать прописью количество строк MasterData, выведенные на страницу. Функцию перевода чисел в строку я к отчёту привязал. Но не могу понять когда мне в PageFooter'e доступно COUNT(MasterData1). Если я в Memo вставляю COUNT(MasterData1), то число печатается в отчёте, но если я на это Memo вешаю OnBeforePrint, чтобы перевести число в строку, то в этот момент в Memo.Value - пустота. Да и обращение к COUNT тоже возвращает пустую строку.
Ну и что в этом случае делать?
Ну и что в этом случае делать?
Комментарии
в Memo125 (в PageFooter'e) стоит 'COUNT(MasterData1)', а в
OnBeforePrint у Memo126 (в том же Footer'e) вписано проверка на пустоту стоит не случайно, т.к. при однопроходном отчёте на первой странице с данными с 22 строчками в Memo125 выводится 22, а
VarToStr ( Memo125.Value ) в OnBeforePrint возвращает пустую строку.
На следующей странице с 17 строчками -
Memo125.Memo - 17, а VarToStr ( Memo125.Value ) возвращает 22 (значение из предыдущей страницы) и, соответственно на последней странице с 2 строчками имеем:
Memo125.Memo - 2, VarToStr ( Memo125.Value ) - 17
Т.е. VarToStr ( Memo125.Value ) возвращает данные предыдущей страницы.
И как это понимать?
Да и не проще ли в Memo126 просто написать [NUMSPELL(COUNT(MasterData1))]
функцию NUMSPELL описать так:
function NumSpell ( num: Variant; FirstCapital: boolean ) : string;
'NumSpell1(num:Variant) : string' - переходная функция к 'NumSpell (num: LongInt ; FirstCapital: boolean ) : string'. Всё заработало, но причину этой проблемы я так и не понял. Будет время, покопаюсь поподробнее...
Ещё раз, спасибо!