|
|
|
Oracle Reports 6i, подписи на след. странице
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Oracle Reports 6i: есть такая проблема - в конце бухгалтерского отчета имеются подписи. Отчет представляет собой обычный табличный отчет из n записей. Кол-во записей, естественно, неизвестно. Ширина рамки - переменная, т.е. строки отчеты по ширине все разные, может даже так быть, что на всю страницу - 1 строка. Необходимо, чтобы подписи не оказывались на пустой странице одни, без хотя бы одной строки отчета. Пробовала и анкером прицеплять, и совйства рамок по-всякому менять - не получается. Может, кто-нибудь подскажет правильное решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 23:47 |
|
||
|
Oracle Reports 6i, подписи на след. странице
|
|||
|---|---|---|---|
|
#18+
Ольга (Самара)без хотя бы одной строки отчета а как по вашему "должны себя вести" подписи если данные отчета закончились как раз в конце листа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2010, 09:21 |
|
||
|
Oracle Reports 6i, подписи на след. странице
|
|||
|---|---|---|---|
|
#18+
To R@mon: "По хорошему" - последняя строка таблицы с данными (если там таблица) должна быть перенесена на последний лист вместе с подписями. To Ольга (Самара): Точно не знаю. Но такой изврат изображенный на Report'ах видел. Т.ч. эксперементировать с анкерами. На мой взгляд - такое требование сильно изврат. На такие требования (внедрение OeBS), _лично_ мне удавалось убедить заказчиков что это лишнее. В пред. конторе, всегда делали возможность экспорта отчетов в Word, что бы пользователь, если ему особо нужно, мог отчет подредактировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2010, 12:39 |
|
||
|
Oracle Reports 6i, подписи на след. странице
|
|||
|---|---|---|---|
|
#18+
как вариант, если запрос не тяжелый, выбирать в основную кучу все кроме последней строчки, а последнюю строчку выбирать отдельно в отдельную рамку и печатать ее на последней странице ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2010, 13:02 |
|
||
|
Oracle Reports 6i, подписи на след. странице
|
|||
|---|---|---|---|
|
#18+
Вот мой удачный прием - 1) при помощи свойств Base Printing On = Anchoring Object Keep with Anchoring Object = Yes мы легко (не помню точно как!!) добиваемся того, что последняя строка отчета обязательно и гарантированно уйдет на последнею (новую) страницу ЕСЛИ не хватает места, что бы поместить все объекты этой строки на последней странице) 2) Завожу спец_поле ( типа как ... select 1 as n_row. ..) , которое содержит значение = 1. На уровне отчета создаю поле суммирования (max_row) = которое гарантированно возвращает абсолютное кол-во строк именно в той рамке - где надо контролировать вывод последней строки. В итоге мы точно знаем = номер строки и общее кол-во строк в отчете. 3) А теперь внимание - финт. Подпись к отчету я помещаю в свою рамку, и эту рамку помещаю именно внутри рамки где строка отчета. В итоге, все подписи выводятся (тупо) после каждой строки отчета. Это очень важно - что бы подпись вылазила на каждой строке отчета. 4) Теперь ставим триггер форматирования на рамку с подписями Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. В результате, (так как мы всегда знаем общее число строк в отчете и номер текущей строки) = мы запрещаем выводить подписи на всех строках отчета, кроме как последней. Что и требовалось!! Тут то все и САМО срабатывает, на последней строке репорт пытается вывести подпись, она не лезет, и последняя строка утягивается на новый лист. Вместе с подписью. Так как наша подпись = это вообще то объекты принадлежавшие строке отчета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 18:20 |
|
||
|
Oracle Reports 6i, подписи на след. странице
|
|||
|---|---|---|---|
|
#18+
UK0IAI, ни фига себе способ! попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2010, 17:09 |
|
||
|
Oracle Reports 6i, подписи на след. странице
|
|||
|---|---|---|---|
|
#18+
Ольга (Самара)UK0IAI, ни фига себе способ! попробую Попробуйте, токо я забыл сказать что поле NB_ROW = есть поле суммирования, что установлено там - где группа рамки строк. Ну в это поле, грубо, есть нарастающий тотал. Короче это поле, что автоматом генерит сумму по полю = численно равному 1 = что дает (само) де факто номер строки. (Вам надо знать номер строки и сравнивать его с макс_кол-вом_строк = max_row) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2010, 21:13 |
|
||
|
Oracle Reports 6i, подписи на след. странице
|
|||
|---|---|---|---|
|
#18+
Выше предложенный способ дает сбои -- из моей практики. Репортс сначала форматирует страницу, а потом пытается вместить её на страницу. Если не получается, то тут и траблы. На last-1 репортс скажет, что это последняя страница для фрейма подписи и отрисует подписи. А потом ещё раз и на последней станице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2010, 20:19 |
|
||
|
Oracle Reports 6i, подписи на след. странице
|
|||
|---|---|---|---|
|
#18+
HelferВыше предложенный способ дает сбои -- из моей практики. Репортс сначала форматирует страницу, а потом пытается вместить её на страницу. Если не получается, то тут и траблы. На last-1 репортс скажет, что это последняя страница для фрейма подписи и отрисует подписи. А потом ещё раз и на последней станице. Наверно мы не много друг друга не поняли. Строим отчет, так, что бы на каждой строке табличной части отчета = выводилась рамка с подписями. Видим визуально, что подписи лезут на каждой строке... И подавляем вывод фрейма с подписями чисто логическими путем = разрешаем токо на последней строке (так мы знаем номера текущей строки и общее ко-во строк. А триггер срабатывает на каждой строке). Репорт выводит строки и проверяет лезет не лезет. Ели нет - последняя строка переносится на последнею страницу. Если строка такая маленькая вся... то подписи гарантировано встанут на место. А вот если ВСЕГО ОДНА строка + рамка с подписями никак не лезут на 1 лист - то тут я пас. Что будет то будет. Такого еще не было... рс. надо ручками разносить строку на некие стринговые строки и выводить их.. по той же схеме. Типа через буферную временную таблицу.. где строки содержат фрагменты строки из БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2010, 16:18 |
|
||
|
Oracle Reports 6i, подписи на след. странице
|
|||
|---|---|---|---|
|
#18+
:NB_ROW < :max_row then Номер текущей строки (то, что у вас NB_ROW) можно посчитать и по-другому. например так Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2011, 13:40 |
|
||
|
|

start [/forum/topic.php?fid=51&tid=1878669]: |
0ms |
get settings: |
12ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
154ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 490ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...