Crystal Reports - Упрощение печати передней стороны/спины

У меня есть отчет о монокристалле, который обычно заканчивается приблизительно 150 страниц длиной. Единственный .rpt, с помощью умной группировки, на самом деле включает записи с небольшим отдельным заголовком и разделами нижнего колонтитула для каждого клиента. Думайте о нем как об отчете по продажам для 100 клиентов, каждого с их собственным разделом.

Каждый клиентский раздел составляет 2 - 7 страниц в длине.

Мы хотели бы распечатать на передней и задней части страниц. Однако мое беспокойство - то, что приблизительно половина клиентских разделов начала бы печатать с задней стороны последней страницы предыдущего клиентского раздела.

Править: К чему это сводится... Я должен вставить дополнительный разрыв страницы, если текущий номер страницы нечетен. Какие-либо идеи?

5
задан Donal Fellows 25 July 2010 в 23:26
поделиться

1 ответ

Хорошо, если все, о чем вы просите, - это формула для вставки разрыва страницы, когда номер страницы нечетный, тогда добавьте ее в формулу «Новая страница после» или «Новая страница до» в желаемом разделе отчета.

PageNumber Mod 2 = 1

Извините, я ничем не могу помочь, но мне сложно понять ваш вопрос.


ИЗМЕНИТЬ:

Спасибо за разъяснение в основном в вашей группировке для вашего клиента (то есть в «небольшом индивидуальном нижнем колонтитуле») вам нужно будет сделать что-то подобное в формуле «Новая страница после»

(Next({Customer.CustomerId}) <> {Customer.CustomerId})
AND 
(PageNumber MOD 2 = 1)

. Примечание. Customer.CustomerID должен ссылаться на уникальное значение для вашего клиента в вашем наборе записей. Я только что что-то придумал, так как не знаю ваших имен полей данных. В основном форум выше будет смотреть на следующего уникального клиента, и если это не то же самое значение, что и текущий клиент, то вы знаете, что начинается новый раздел клиентов. Объедините эту логику с погодой или нет, PageNumber является нечетным, и вы можете сказать погоду или нет, вам нужно вставить разрыв страницы.


РЕДАКТИРОВАТЬ 2

(ISNULL(Next({Customer.CustomerId})) OR Next({Customer.CustomerId}) = "")
AND
(Next({Customer.CustomerId}) <> {Customer.CustomerId})
AND 
(PageNumber MOD 2 = 1)

Вы можете проверить, является ли следующий идентификатор клиента (уникальное значение клиента IE) нулевым, так вы не получите пустую страницу в самом конце отчета.

3
ответ дан 15 December 2019 в 06:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: