:: Visual Foxpro, Foxpro for DOS
Отчет, групировка -
Vladimir Sklyar

Сообщений: 1397
Дата регистрации: 13.06.2002
VFP9 SP2
Отчет, с группировкой о одному полю.
Размер группы меньше листа.
Как сделать, чтобы группа не разбивалась на два листа (т.е. елс группа не влазит на лист - печатаем с нового листа ее целиком.)

Есть ли какой-нибудь крыжик в настройках? (Изначально отчет делался на лист и каждая след. группа печаталась с нового листа, теперь нада экономить бумагу и заполнять лист подзавязку)


------------------
С уважением Владимир.
Ratings: 0 negative/0 positive
Re: Отчет, групировка -
Chemberzhy

Сообщений: 13142
Откуда: Измаил
Дата регистрации: 28.04.2009
Насколько я помню, такого в отчетах фокса нет. Или с нового листа или по порядку. Точно такого нет, оно и логично, иначе требовалось бы делать по несколько холостых прогонов, раз за разом проверяя, подсчитывая строки, войдет очередной блок или нет и его надо выносить на новый лист. Чем шире группа, тем больше холостых прогонов. Причем, это, таки, "заплата" и в любом случае имеет кучу погрешностей. Не благодарное это дело, мне кажется. Проще уж тогда готовить курсор предварительно с группировкой и выводить его в печать в соответствии с единоразовым подсчетом строк в каждом блоке группы.


------------------
Что-то с памятью моей стало, всё что было не со мной- помню.
Ratings: 0 negative/0 positive
Re: Отчет, групировка -
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Chemberzhy
Насколько я помню, такого в отчетах фокса нет. Или с нового листа или по порядку.

Как это нет. Явно тебя девиз подвел. ;)
У меня куча отчетов всегда было (еще с FPD кстати есть возможность), где группы идут сплошняком друг за другом и никак иначе. У нас бумага всегда экономилась.
В свойствах, в закладке Data Grouping выбирается, откуда начинать новую группу - с новой строки или с новой страницы.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Отчет, групировка -
Vladimir Sklyar

Сообщений: 1397
Дата регистрации: 13.06.2002
Crispy
В свойствах, в закладке Data Grouping выбирается, откуда начинать новую группу - с новой строки или с новой страницы.

Сначала нужно заполнить весь лист (будет там одна группа или 150 неважно - группа ГРУППА ДОЛЖГА БЫТЬ ЦЕЛИКОМ и не разрываться на несколько листов), пока не заполним до конца ВЕСЬ лист, новый не начинанаем.
Все те крыжики не помогают.

Перед выводом заполнил курсор, Если в группе меньше опр. кол-ва строк - добавляем пустых до нужного количества и выводим (решено было выводить по 2 группы на лодном листе). Вышло вроде ниче

PS однно дело строить построчно самому (можно предварительно считать страницу целиком, я про FPD и матречники), другое дело вывести красиво на лазерку.



PSS коммуналка, тут нада все красиво
у нас тут новая фишка от депутатов (пока проект, надеюсь не примут) - разноцветная квитанция (задолженность выделять КРАСНЫМ цветом)


------------------
С уважением Владимир.




Исправлено 6 раз(а). Последнее : Vladimir Sklyar, 06.08.18 09:43
Ratings: 0 negative/0 positive
Re: Отчет, групировка -
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Vladimir Sklyar
[у нас тут новая фишка от депутатов (пока проект, надеюсь не примут) - разноцветная квитанция (задолженность выделять КРАСНЫМ цветом)

Это будет песец. По расходам в первую очередь. Они видимо не представляют просто, одно дело черный тонер, и другое комплект цветов, из которых только красный расходуется.
Такие "красивые дела" типографским способом обычно делают, когда надо, много дешевле, всякие там листовки, агитки и прочее. Но тут понятное дело в типографии уже не возьмутся - на каждой квитанции уникальные цифры.
Так что, как говорится: "вы там держитесь".


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Отчет, групировка -
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Vladimir Sklyar
Сначала нужно заполнить весь лист (будет там одна группа или 150 неважно - группа ГРУППА ДОЛЖГА БЫТЬ ЦЕЛИКОМ и не разрываться на несколько листов), пока не заполним до конца ВЕСЬ лист, новый не начинанаем.
Все те крыжики не помогают.

А индексация у тебя правильная создана для группировки?
Самое главное во всех этих "выводах групп" - сначала создать правильный "хитрый индекс", во всем остальном иногда даже бывающий ненужным, но обязательно нужный для правильного вывода групп.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Отчет, групировка -
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
Дело не в индексе, а в том что фокс не знает когда закончится группа (позаписно он отчёт выводит, не заглядывая вперёд "а сколько остальные записи группы места займут на листе"), а значит не может при начале вывода группы перейти на новую страницу. Потому и варианты лишь каждую группу начинать с новой страницы, или же всё "сплошняком" гнать, но тогда какие-то группы всенепременно будут "разорваны" т.е. часть записей попадёт на 1 страницу, а часть на другую.
Решить это можно либо действительно ужасающим кодом со 100500 прогонами этого отчёта, постепенно выясняя какие из групп должны с новой страницы начинаться (т.к. каждое такое выяснение, а значит и установка где-то флажка "эту группу начинай с нового листа" потребует пересчёта всего последующего "хозяйства"). Либо, если в полосах отчёта нет "Stretch with overflow" полей - т.е. физическая высота каждой строки-записи фиксирована, просто однократным расчётом перед выводом отчёта высоты каждой группы, а значит и признака необходимости вывода очередной группы с нового листа - по сути ДО прогона отчёта мы рассчитываем для всех записей "номер страницы", а уже в отчёте по этому полю и добавляем группировку, и там уже совершенно спокойно ставим флажок "начинать группу с нового листа".


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Отчет, групировка -
LUCIAN

Сообщений: 343
Откуда: Лида Беларусь
Дата регистрации: 25.03.2008
[attachment 29963 GRUPPA.GIF]Для печати расчётных листков формируется курсор в котором для каждого ТН
сформирована шапка из 5 строк при печати расчетный листок никогда не рвался при переходе на новый лист
Ratings: 0 negative/0 positive
Re: Отчет, групировка -
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
Если ты заранее знаешь сколько в группе будет записей, то не проблема. А если нет, то 5-ти см может и не хватить. Ставить же "с запасом" - тратить бумагу. По сути при большом "запасе" это вырождается в "Start each group on a new page".


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Отчет, групировка -
LUCIAN

Сообщений: 343
Откуда: Лида Беларусь
Дата регистрации: 25.03.2008
Igor Korolyov
Если ты заранее знаешь сколько в группе будет записей, то не проблема. А если нет, то 5-ти см может и не хватить. Ставить же "с запасом" - тратить бумагу. По сути при большом "запасе" это вырождается в "Start each group on a new page".
[attachment 29966 rls.GIF]
Редко ,когда внизу листа появляется 5 см пустоты.
Ratings: 0 negative/0 positive
Re: Отчет, групировка -
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
LUCIAN
Редко ,когда внизу листа появляется 5 см пустоты.
Это не самая большая проблема. Вот когда появится группа занимающая более 5 см - вот то неприятно - фокс её разорвёт на 2 листа.
Т.е. твой вариант годится когда ты уверен что вся группа поместится в эти 5 см.


------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 29 (Гостей: 29)

© 2000-2024 Fox Club 
Яндекс.Метрика