|
report form
|
|||
---|---|---|---|
#18+
Заблудился в трех соснах. Хочу распечатать два отчета на одном листе. Использую команды REPORT FORM PRINAT TO PRINTER NOPAGEEJECT REPORT FORM PRINAT TO PRINTER но печатается на двух листах. Что тут не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2010, 10:06 |
|
report form
|
|||
---|---|---|---|
#18+
FoxPro не может распечатать два отчета на одном листе. Никак. В принципе. Как Вы себе представляете работу лазерного принтера в этом случае? Распечатал половину листа, остановился подумать, потом начал печатать вторую половину? Единственное решение - создавать новый отчет на основании двух предыдущих. Новый файл frx Смысл NOPAGEEJECT не в том, чтобы подавить прогон листа, а в том, чтобы включить очередной отчет в то же самое задание принтера (print job). Т.е. в очереди на печать будет не 2 задания (по одному на каждый отчет), а одно общее. Но прогон листа по окончании первого frx все-равно будет происходить. PS: Если не ошибаюсь, то NOPAGEEJECT действительно подавлял прогон листа, но только в версии Fox2x и только при печати на матричных принтерах. Т.е. в версии VFP он изменил свой смысл. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2010, 10:49 |
|
report form
|
|||
---|---|---|---|
#18+
Тут кажется все просто. На листе А4 надо напечатать два экземпляра одного и того же отчета. Потом юзер разорвет лист пополам, половину себе, а половину другу. Отчеты мелкие, заголовочная часть 5 строк, и пара строк из таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2010, 10:57 |
|
report form
|
|||
---|---|---|---|
#18+
ENDOFUSSRТут кажется все просто. На листе А4 надо напечатать два экземпляра одного и того же отчета. Потом юзер разорвет лист пополам, половину себе, а половину другу. Отчеты мелкие, заголовочная часть 5 строк, и пара строк из таблицы.Нормального решения на фоксовом репорт-движке, похоже, нет. Тоже встала как-то такая задача, так вот если высота экземпляра отчёта неизвестна заранее, то это дохлый номер. Ацкими извратами можно приблизительно спозиционировать второй кусок туда, куда надо, но всё равно строго с середины листа не получится. Спецы, если я неправ, то расскажите, пожалуйста, решение. Мне всё ещё интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2010, 12:06 |
|
report form
|
|||
---|---|---|---|
#18+
Выводите в Эксель в готовый шаблон А4, разбитый на 2 части. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2010, 12:33 |
|
report form
|
|||
---|---|---|---|
#18+
ENDOFUSSRТут кажется все просто. На листе А4 надо напечатать два экземпляра одного и того же отчета. Потом юзер разорвет лист пополам, половину себе, а половину другу. Отчеты мелкие, заголовочная часть 5 строк, и пара строк из таблицы. Эта задача решается по другому. Отчет - это всегда сканирование записей одной (главной) таблицы. Поскольку весь отчет помещается на половинке листа, то, скорее всего, источником является одна запись. Так вот, надо создать курсор, в котором просто создать две совершенно одинаковые записи. И указать этот курсор как источник данных для отчета. Разумеется, в этом случае нельзя использовать полосы отчета Title/Summary или Page Header/Page Footer. Если надо создать больше одной полосы отчета, то добавляется группировка по Recno() и используется Group Header/Group Footer Если в отчете отображется больше одной записи, то в курсоре следует создать специальное поле, вроде "Номер группы", соответственно, группировку делать по этому полю. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2010, 12:42 |
|
report form
|
|||
---|---|---|---|
#18+
ВладимирМнадо создать курсор, в котором просто создать две совершенно одинаковые записи. И указать этот курсор как источник данных для отчета.Это, конечно, хорошо, но как быть, если у меня не по одной записи, а группы записей заранее неопределённого размера (единственное, что каждая группа точно умещается в "полстранице")? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2010, 12:56 |
|
report form
|
|||
---|---|---|---|
#18+
tanglirВладимирМнадо создать курсор, в котором просто создать две совершенно одинаковые записи. И указать этот курсор как источник данных для отчета.Это, конечно, хорошо, но как быть, если у меня не по одной записи, а группы записей заранее неопределённого размера (единственное, что каждая группа точно умещается в "полстранице")? Если нет объектов со свойством "Stretch with overflow", то проблема решаема именно "в общем случае". Как уже упоминалось, путем введения дополнительных полей с признаком группы и порядковым номером записи. Для "компенсации" "высоты" в случае использования объектов с условием печати "Remove if blank" просто создаются дополнительные пустые записи. В конце "половинки". Со свойством "Stretch with overflow" задача "в общем случае", ну, тоже, в приницпе, решаема. Но довольно сложными способами, путем многократных предварительных прогонов "в никуда". "Прогнали", добавили пустую запись, снова "прогнали", если надо добавили еще пустую запись и т.д. пока не выйдем на нужное место листа. После чего копируем записи для второй половинки. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2010, 14:04 |
|
|
start [/forum/topic.php?fid=41&fpage=86&tid=1584804]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
67ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 171ms |
0 / 0 |