2012-01-03 44 views
0

我已经制作了一份报告,显示某些产品在特定时间段内的交易。分组页面打印后打印两次

为了简化它;其基于3个表格:交易,产品和客户。交易分别通过键ProductID和CustomerID加入Product和Customer。该产品可以被几个客户使用,所以客户和产品之间没有任何联系。

报告的结构如下:

Report Header: 
-Group Header 1 - CustomerID (prints name, id etc) 
--Group Header 2a - Product Code (prints name, description..) 
--Group Header 2b - sub report GetOpeningBalance 
---Group Header 3 - Transaction Date 
----Details (nothing printed) 
---Group Footer 3 - Prints transaction date, details, new balance 
--Group Footer 2 - Prints Product closing balance (opening - transactions). 
-Group Footer 1 - Prints nothing. 
Report Footer - prints nothing. 

子报告GetOpeningBalance调用存储prodedure并在对应于开口平衡共享变量返回一个数字。然后每笔交易增加/减少这笔交易,并在期末显示期末余额。

现在选择公式是基于:客户,产品和日期范围(到/从)。客户和产品可以是离散,范围或离散+范围值。

这工作得很好;它显示了产品交易发生在给定范围内并显示数字。然而,客户希望它展示所有产品;即使在这段时间内没有发生交易。例如他们有库存;但没有进/出,因此开始和结束余额是平等的。

所以要解决这个问题;我在选择标准中删除了日期范围参数(因此它返回了产品的所有交易),然后抑制了所需日期范围之外的任何明细行。我已相应地修改了运行总计公式,因此它们只包含“显示”事务。

现在我正在经历奇怪的行为。完整的组可以复制到下一页上。说产品1-9打印在第1页上,您希望第2页从产品10开始,等等。然而产品1-9是印刷的;但随后在第二页的开头再次打印产品8和9。它会打印包含正确总数的完整部分。

此行为不一致;它不会在每个页面或每个日期范围/产品选择上都做到这一点。

我已经试过滴答/解开在科专家和组专家。我也尝试删除一些额外的组和细节,尝试缩小到无济于事。

是否有可能导致这些群体的任何选项或设置重印?

我通常会用在这些类型的问题的细节部分子报表;但是,由于产品和客户之间没有直接联系,所以它不可能实现。

+0

据我了解,该报告将(应该)表示客户曾经下令所有产品,不存在(这可能是一个更大的数字)的所有产品? – 2012-01-04 07:59:41

+0

是;你太对了。产品可以不存在交易,但报告目前不显示。这个想法是展示任何曾经用过天平的产品;即使在给定的时间内没有交易。问题是他们希望这是同一包中的“股票和交易”报告。 – vice 2012-01-04 10:55:32

+0

为了确保我理解,我们来创建一个示例。假设2个客户A和B以及10个产品1..10。如果客户A使用产品1,而客户B使用产品2,则报告应列出A,其使用1 *和*产品2..10。此外,报告应列出B,其使用2 *和*产品1和3..10? – craig 2012-01-11 20:43:52

回答

0

今天我有一些空闲时间玩这个。

我发现切换组头2A与2B;以便该子报表在产品详细信息标题将停止此行为发生之前。

我们测试,测试,再测试!