Частичный дуплекс
Доброго времени суток.
Срочно необходима помощь в реализации следующего (если конечно вобще возможно, хотя не возможного нет...):
В одном большом отчете существует GroupHeader и при выводе данных по признаку группировки иногда бывает колличество записей на 2-х страницах, но чаще они помещаются на 1.
Задача состоит в том, что, например:
по группировке Х кол-во записей - 20 - т.е. они влезают на одну страницу, соответственно печатаем только на одной стороне.
дальше по группе Х1 - кол-во записей 25 - т.е. они будут занимать место на 2-х страницах, соответственно тут надо применить двустороннюю печать.
и т.д. и это все в одном отчете.
Вопрос, можно ли это реализовать и желательно примерный алгоритм.
P.S.: На сколько я поняла изи предыдущих статей здесь применяется frxReport.Pages.duplex:=...vertical;
Срочно необходима помощь в реализации следующего (если конечно вобще возможно, хотя не возможного нет...):
В одном большом отчете существует GroupHeader и при выводе данных по признаку группировки иногда бывает колличество записей на 2-х страницах, но чаще они помещаются на 1.
Задача состоит в том, что, например:
по группировке Х кол-во записей - 20 - т.е. они влезают на одну страницу, соответственно печатаем только на одной стороне.
дальше по группе Х1 - кол-во записей 25 - т.е. они будут занимать место на 2-х страницах, соответственно тут надо применить двустороннюю печать.
и т.д. и это все в одном отчете.
Вопрос, можно ли это реализовать и желательно примерный алгоритм.
P.S.: На сколько я поняла изи предыдущих статей здесь применяется frxReport.Pages.duplex:=...vertical;
Комментарии
Алгоритм примерно следующий:
- создать динамический массив или список.
- В событии печати GroupHeader добавить новый элемент в массив, присвоить элементу значение текущей страницы.
- В GroupFooter(если нет добавьте, можно пустой) , присвоить значение элементу: текущий номер страницы минус сохраненный номер страницы + 1 (mas := Page - mas + 1).
- действия будут повторяться до конца построения отчета.
Печать будет происходить следующим образом:
- добавить пару переменных индекс текущей распечатываемой страницы и индекс массива.
- увеличивать индекс массива в зависимости от номера страницы и устанавливать дуплекс.
В итоге печать будет выглядеть приблизительно так: