2010-05-22 78 views
5

我有一份单晶报告,通常最终长达150页左右。通过使用巧妙的分组,单个.rpt实际上包括每个客户的个别页眉和页脚部分的记录。把它看作是100个客户的销售报告,每个客户都有自己的部分。Crystal Reports - 促进正面/背面印刷

每个客户部分的长度为2到7页。

我们希望在页面的正面和背面打印。但是,我担心的是,大约一半的客户部分将在前一客户部分的最后一页的背面开始打印。

编辑:这可归结为...如果当前页码是奇数,我需要插入额外的分页符。有任何想法吗?

+1

您可以为每个报告运行单独的打印作业吗? – tgiphil 2010-05-25 22:43:34

+0

基本上,除非打印作业在.rpt文件本身内可以执行,否则我需要所有~80个前/后页一次打印。如果页码是奇数,我只需要某种逻辑来插入分页符。 – 2010-05-26 02:13:02

回答

3

好,如果你所要求的是一个插入分页符的公式,当页面号码是奇数时,然后将其添加到新页面之后或新页面之前的公式在报表的所需部分。

PageNumber Mod 2 = 1 

对不起,我不能有更多的帮助,但我无法理解你的问题。


编辑:

感谢澄清 基本上都在您的分组为您的客户(即“小个体页脚部分”),你需要做的新页这样的事情后,公式

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

注意Customer.CustomerID应为您的记录集中的客户引用唯一值。因为我不知道你的数据字段名称,所以我做了一些事情。基本上,上面的forumla将查看Next Unique Customer,如果它与当前客户的价值不同,那么您知道一个新的Customer部分正在启动。将该逻辑与天气或不是相结合的PageNumber很奇怪,你可以告诉天气与否,你需要插入一个分页符。


组织编写

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

您可能要检查下一个客户ID(IE独特的客户价值)为null,这样你就不要在尽头有一个空白页结束那个报告。

+0

编辑澄清 – 2010-05-26 14:24:24

+0

编辑我的答案...检查出来 – 2010-05-26 21:08:14

+0

对不起再次编辑我的答案..我正在阅读它,并意外地使用!=而不是<> ....对不起,有时我混合和匹配来自不同语言的语法。我确定它是一个常见的错误。 – 2010-05-27 15:17:45