0

因此,我想比较 Crystal Reports 中的一些记录,以解决我们系统中的错误导致的问题。

所以每隔一段时间,我们的系统就会向某人收取两次费用。我想找到所有这些订单/发货。一个订单可以有多个发货(如果我们有一件延期交货的商品,我们会在一次发货中将剩余的订单发货,然后在另一次发货中发货)。货件还有一个charge_date字段,即我们向客户收费时的日期时间戳。因此,如果我们将它分组到 Crystal 报表中,它将如下所示:

    Order Id: 234587
              Shipment Id: 121    charge_date: 8/29/2012 11:43:21
              Shipment Id: 524    charge_date: 9/1/2012 15:37:39

货件按数字顺序创建。因此,如果我们发送一个货件,例如货件编号:345,那么我们发送的下一批货件,无论它属于哪个订单,都将是货件编号:346。

因此,当某人成为我们漏洞的受害者时,他们的货物将接踵而至,并且charge_date完全相同。像这样:

    Order Id: 69875
              Shipment Id: 594     charge_date: 9/2/2012 14:32:15
              Shipment Id: 595     charge_date: 9/2/2012 14:32:15

我可以创建一个仅包含发货及其收费日期的列表(不按订单 ID 分组)并按升序对它们进行排序。但是我想要做的是遍历发货列表并将每个发货与上一个发货进行比较,看看charge_date它们是否相等,然后选择它们或标记它们或其他东西,以便我可以按公式对它们进行分组并照顾他们。

这在水晶中可能吗?我应该使用不同的程序吗?我意识到这可能不是最好的方法,所以我愿意接受建议。提前致谢!

4

2 回答 2

1

您可以为 orderID 和 chargeDate 创建组,然后禁止所有发货详细信息,除非 count(shipmentID) > 1?

您将在chargeDate 组页脚中显示货件详细信息。

于 2012-09-04T16:59:50.493 回答
0

使用Previous功能:

// {@Is Error}
If Previous({table.chargeDate})={table.chargeDate}) Then
  true
Else
  false

在此公式中插入一个组。

我无法对此进行测试,因为我不在我的工作计算机上。

于 2012-09-04T21:42:57.453 回答