|
определение размера отчета
|
|||
---|---|---|---|
#18+
Добрый день, печатаем тн, ттн и всякие счета из отчета. Возникает часто ситуация, когда подписи на одной странице, записи на другой, хотя вроде и место есть. Подскажите, как можно определить, сколько страниц займет отчет, и как-то им управлять. Просто посчитать количество строк в таблице не вариант, одна строка в таблице может быть 2 и 3, а то и 4 строки в отчете, заранее увидеть мы это не можем. Может можно посчитать строки в отчете или как-тот еще решить? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2020, 14:50 |
|
определение размера отчета
|
|||
---|---|---|---|
#18+
DmitryKn, Прогоняешь отчет в NULL Код: sql 1.
выясняешь сколько страниц, сколько строк итп. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2020, 18:57 |
|
определение размера отчета
|
|||
---|---|---|---|
#18+
PaulWist, Приветствую! это с помощью ReportListener надо? и как строки в details посчитать? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2020, 20:05 |
|
определение размера отчета
|
|||
---|---|---|---|
#18+
DmitryKn, Делал просто: 1. В курсоре, который выводишь на печать нумеруешь записи, recno не подходит, поскольку может быть активный индекс 2. Перед отчетом создаешь курсор LineInPage (Page int, Lines int). 3. Пишешь ф-ию примерно такого содержания: Код: sql 1. 2. 3. 4. 5.
4. В отчете в Group/Detail footer (это как отчет устроен) на закладке General в поле On Exit прописываешь ф-ию =LineInPage() После того как отчет будет прогнан в Null можешь узнать сколько страниц в отчете и сколько строк на каждой странице. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 00:14 |
|
определение размера отчета
|
|||
---|---|---|---|
#18+
PaulWist, Отлично, буду пробовать. Но вот строки так не посчитать, потому что в курсоре строка - это запись, а в отчете эта запись может на три строки расползтись. Вот такие "физические" строки нельзя в отчете посчитать? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 07:37 |
|
определение размера отчета
|
|||
---|---|---|---|
#18+
DmitryKn, Проверь, я не помню проблем записями на странице. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 08:53 |
|
определение размера отчета
|
|||
---|---|---|---|
#18+
PaulWist DmitryKn, Прогоняешь отчет в NULL Код: sql 1.
выясняешь сколько страниц, сколько строк итп. Доброго дня, при "прогоне" окошки проскакивают на экране, как их подавить? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 12:42 |
|
определение размера отчета
|
|||
---|---|---|---|
#18+
DmitryKn PaulWist DmitryKn, Прогоняешь отчет в NULL Код: sql 1.
выясняешь сколько страниц, сколько строк итп. Доброго дня, при "прогоне" окошки проскакивают на экране, как их подавить? Нашел: REPORT FORM Myreport NOCONSOLE TO NULL NODIALOG стало как-то тормознее правда.. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 12:54 |
|
определение размера отчета
|
|||
---|---|---|---|
#18+
Проблема чтобы посчитать страницы или чтобы подписи на отдельном листе не выходили? Если второе, то почитай эти топики . ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 13:00 |
|
определение размера отчета
|
|||
---|---|---|---|
#18+
Dima T, Спасибо, разбираюсь.. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 21:17 |
|
определение размера отчета
|
|||
---|---|---|---|
#18+
Вопросы, наверное, чисто академические. для определения числа страниц отчета я выполняю REPORT FORM Myreport NOCONSOLE TO NULL тут, кстати, вопрос - правильно NULL или NUL ? итак, выполняю. В самом отчете у меня есть условие в нескольких полях print when : _pageno <>_pagetotal Сколько раз я прогоняю отчет? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2020, 19:54 |
|
определение размера отчета
|
|||
---|---|---|---|
#18+
Подсчет с помощью REPORT FORM Myreport NOCONSOLE TO NULL NODIALOG уж очень сильно тормозит, причем независимо от размера отчета. Есть ли еще какие решения? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2020, 21:31 |
|
определение размера отчета
|
|||
---|---|---|---|
#18+
В древнем примере Владимира Максимова есть: авторЗадача решается предварительным прогоном отчета в файл. Да, конечно, можно вообще не указывать источник назначения, т.е. дать команду: REPORT FORM PageCnt.frx NOCONSOLE Однако в этом случае FoxPro под размером страницы понимает размер экрана, который в свою очередь зависит от разрешения (640х480, 800х600 и т.п.). Т.е. в общем случае, полученное таким образом количество страниц не совпадет с реальным количеством страниц при печати. В принципе, в данном случае можно сделать и предварительный прогон в специальное системное устройство NUL (именно так, с одним "L") REPORT FORM PageCnt.frx noconsole TO NUL В этом случае не будет создано никаких временных файлов. Однако я не проверял правильность определения количества страниц в этом случае при разных разрешениях экрана. Насколько это актуально? На практике - установлено по умолчанию SET REPORTBEHAVIOR 80, работает хорошо команда REPORT FORM PageCnt.frx NOCONSOLE , но из примера следует, что могут образовываться некие временные файлы и счет по экрану. Команда REPORT FORM PageCnt.frx noconsole TO NUL - не работает вообще Команда REPORT FORM PageCnt.frx noconsole TO NULL - на i7 очень долго обрабатывает даже одностраничный. Насколько правильно использовать REPORT FORM PageCnt.frx NOCONSOLE и может быть, еще контроль печати из просмотра? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2020, 13:45 |
|
|
start [/forum/topic.php?fid=41&fpage=4&tid=1581532]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
310ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 280ms |
total: | 686ms |
0 / 0 |