Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Печать многостраничного документа
|
|||
|---|---|---|---|
|
#18+
Привет всем. Каким образом заставить Report в случае когда Summary и последняя запись в Detail не помещаются _вместе_ на текущей странице перенести их на следующую ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2003, 20:48 |
|
||
|
Печать многостраничного документа
|
|||
|---|---|---|---|
|
#18+
В седьмом Не нашел для себя решил просто их пронумеровать Код: plaintext есть еще варианты с Внешними репортами типо Excel тан можно самому выбирать Ну вообще про встроенный репорт трабл: как распечатать по номеру страницы, когда нужна вторая,а их 75, например Или надо разрешить копировать в буфер Сори! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2003, 09:46 |
|
||
|
Печать многостраничного документа
|
|||
|---|---|---|---|
|
#18+
2 Glory Я сделал на VFP6 специальный проект примеров для решения ряда задач генератора отчетов и выложил его на nsvisual.com, но сейчас этот сайт недоступен. Могу скинуть его тебе, если нужно (мой e-mail открыт в профиле). В данном случае суть решения заключается в том, чтобы "склеить" последнюю запись отчета и подвал. -) Вместо полосы Summary следует использовать подвал группировки по специальной группе, значение которой вообще не меняется на протяжении всего отчета. Для этой цели делается внешняя группа по константе (можно в качестве признака группировки написать число "1") или по функции EOF() -) Необходимо ДО выполнения отчета вычислить признак последней записи отчета (EOF() не подойдет, поскольку примет значение .T. ПОСЛЕ печати последней записи, а необходимо в момент печати). В качестве признака может выступать физический номер записи (Recno()) или значение поля. -) Содержимое полосы Detail дублируется в подвале этой группы непосредственно перед итогами -) В самой полосе Detail на каждый объект устанавливается условие печати (Print When) - не печатать, если выполнился признак последней записи отчета. Если у отчета есть несколько групп, то полоса Detail дублируется только в самой внутренней Group Footer (той, что ближе всего к Detail). Недостатком такого решения является избыточное пустое пространство на предпоследней странице отчета (не напечатанная полоса Detail) 2 ЗВН Это был вопрос? Тогда я не понял о чем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 12:30 |
|
||
|
Печать многостраничного документа
|
|||
|---|---|---|---|
|
#18+
ДАННУЮ ПРОБЛЕМУ Я РЕШАЛ СЛЕДУЮЩИМ ОБРАЗОМ: -ЭКСПЕРИМЕНТАЛЬНО ОПРЕДЕЛЯЛ ПРИ ПРОЕКТИРОВАНИИ КОЛИЧЕСТВО ЗАПИСЕЙ, ПОМЕЩАЕМЫХ НА 1 ЛИСТЕ С УЧЕТОМ РАЗМЕЩЕНИЯ И ИТОГОВЫХ СУММ И ПОДПИСЕЙ НА 1 ЛИСТЕ, НА ВТОРОМ НА 1 И 2 ЛИСТАХ, С УЧЕТОМ ТОГО, ЧТО СУММА И ПОДПИСЬ ПОМЕСТЯТСЯ НА 2 ЛИСТЕ, ; - РАЗРАБАТЫВАЮ ФОРМЫ ОТЧЕТА - ТИТУЛЬНЫЙ С ИТОГОМ, ТИТУЛЬНЫЙ БЕЗ СУММЫ, ПРОМЕЖУТОЧНЫЙ БЕЗ ИТОГОВ И ПРОМЕЖУТОЧНЫЙ С СУММАМИ И ПОДПИСЯМИ - ЗАТЕМ В ЗАВИСИМОСТИ ОТ КОЛ-ВА ЗАПИСЕЙ ВЫБИРАЮ ВАРИАНТ РАСПЕЧАТКИ, РАЗБИВАЮ ИТОГОВУЮ БАЗУ НА ЧАСТИ С УЧЕТОМ ПОЛНОГО ЗАПОЛНЕНИЯ ЛИСТОВ , ИСПОЛЬЗУЮ ОПРЕДЕЛЕННЫЕ ФОРМЫ ОТЧЕТА И ПЕЧАТАЮ. СВОБОДНОГО МЕСТА НА ЛИСТАХ НЕТ. ВОЗМОЖНО КАЖЕТСЯ ВНАЧАЛЕ СЛОЖНО, ЗАТО ГАРАНТИРОВАННЫЙ ПЕРЕНОС ХОТЯ- БЫ ОДНОЙ СТРОКИ НА НОВУЮ ВМЕСТЕ С ПОДПИСЯМИ И ИТОГАМИ. ПРЕДЛОЖЕННЫЙ СПОСОБ С ИСПОЛЬЗОВАНИЕМ ГРУППИРОВКИ, КАК ПРАВИЛО, ОСТАВЛЯЕТ СВОБОДНОЕ МЕСТО В КОНЦЕ ЛИСТА,ЧТО НЕ ДОПУСТИМО В ФИНАНСОВЫХ ДОКУМЕНТАХ. УДАЧИ!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 13:58 |
|
||
|
Печать многостраничного документа
|
|||
|---|---|---|---|
|
#18+
Не в тему но: Зачем мучаться с фоксовым рапортом, когда можно выводить в Excel. ИМХО: Более менее сложный отчет слепить это гемор полный. Пока протыкаешь все поля - полдня пройдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 14:28 |
|
||
|
Печать многостраничного документа
|
|||
|---|---|---|---|
|
#18+
Ну если человек спрашивает значит так надо... ИМХО глупо учить такого профи как Glory... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 15:10 |
|
||
|
Печать многостраничного документа
|
|||
|---|---|---|---|
|
#18+
2ВладимирМ Спасибо большле - все получилось. 2sergej57 Да, на сложных отчетах с многими группировками так и будет. Но для отчета без группировки очень даже приемлимо. 2Андрей Давыдов А нужно это когда идет массовая печать счетов. Когда их количество переваливает за сотню любой более менее здравый пользователь не захочет править их а попытается свалить это на программера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 15:54 |
|
||
|
Печать многостраничного документа
|
|||
|---|---|---|---|
|
#18+
2ВладимирМ В общем, все правильно. Но я в FPD делал проще, причем в моем случае если при печати последней записи на странице остается достаточно места, последняя запись и подвал печатаются на этой же странице. В VFP не делал, так что может быть, мой метод не сработает. Если будете проверять и обнаружите, что срабатывает, черкните сюда свой комментарий, pls (жду также заслуженных восторженных возгласов ;-))! 1. Как и рекомендовано, определял до начала отчета признак последней записи. 2. Создавал фиктивную группу (абсолютно не содержащую объектов!) по условию выполнения печати последней записи. 3. Все, связанное с Summary, оставлял в Summary. 4. Подсчитывал суммарное количество строк в Summary и PgFoot плюс одна строка на печать последней строки (Detail - если каждая строка была в рамочке, то плюс две строки). Получал, например, 27. 5. Открывал свойства фиктивной группы и снимал все галки - с "New Page", "Swap Page Header", "Swap Page Footer", "Reprint Header", "Reset Page Number". А в "# of rows following by header" записывал полученное ранее число 27. При этом, если последняя запись - т.е. новая группа - печатается менее чем за 27 строк от конца страницы, Fox ее сам переносит на новую страницу. Соответственно, шапка таблицы была в PgHead. Соответственно, количество строк на странице должно быть больше, чем 27+количество в Title+количество в PgHead ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2003, 19:20 |
|
||
|
Печать многостраничного документа
|
|||
|---|---|---|---|
|
#18+
Я с генератором отчетов в FPD не очень много работал. Но судя по описанию, его логика работы отличается от логики работы в VFP. Особенности работы генератора отчетов в VFP 1) Если полоса Summary в гордом одиночестве печатается на последней странице, то не будет печати Page Footer на этой последней страницы. 2) Нет такого понятия как "# of rows following by header". Ты просто раздвигаешь соответствующую полосу на нужную высоту. 3) Расчет места необходимого для печати определяется для каждой полосы. Т.е. вполне допустима ситуация когда на одной странице напечатана полоса Detail, а Group Footer на следующей странице. В результате, опираться на высоту фиктивной Group Footer, для предотвращения печати полосы Detail не получится. При расчете места для печати Detail он просто не учитывается :( 4) В FoxPor for Windows появилась возможность печати строк неопределенной длины. Т.е. при создании отчета она занимает одну строку, а при реальной печати - столько строк, сколько необходимо. Это значит, что в общем случае невозможно определить сколько строк (какой высоты) будет данная конкретная полоса деталировки в отчете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2003, 12:43 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32252857&tid=1597937]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 257ms |
| total: | 421ms |

| 0 / 0 |
