我已经制作了一份报告,显示某些产品在特定时间段内的交易。分组页面打印后打印两次
为了简化它;其基于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。它会打印包含正确总数的完整部分。
此行为不一致;它不会在每个页面或每个日期范围/产品选择上都做到这一点。
我已经试过滴答/解开在科专家和组专家。我也尝试删除一些额外的组和细节,尝试缩小到无济于事。
是否有可能导致这些群体的任何选项或设置重印?
我通常会用在这些类型的问题的细节部分子报表;但是,由于产品和客户之间没有直接联系,所以它不可能实现。
据我了解,该报告将(应该)表示客户曾经下令所有产品,不存在(这可能是一个更大的数字)的所有产品? – 2012-01-04 07:59:41
是;你太对了。产品可以不存在交易,但报告目前不显示。这个想法是展示任何曾经用过天平的产品;即使在给定的时间内没有交易。问题是他们希望这是同一包中的“股票和交易”报告。 – vice 2012-01-04 10:55:32
为了确保我理解,我们来创建一个示例。假设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