@windwolf
2020-05-19T05:44:21.000000Z
字数 641
阅读 280
Sailing
不少单据的明细需要按照一定的规则合并, 例如报关单需要根据品名, 计量单位等合并; 开票通知需要根据上游报关单的合并结果来合并.
一般来说, 对于需要合并的场景有两种看似矛盾的需求:
1. 业务操作上, 后续单据更希望关联合并后的数据, 这样可以保证现实单证和系统数据的一致性;
2. 系统逻辑上, 后续单据更希望关联到合并前的, 因为合并前的数据更方便多级线索跟踪朔源.
这里介绍一种方案, 可以以适当的复杂度同时满足这两方面的需求. 我们构建一个例子来说明这套方案.
一个报关单有2行明细:
项号 品名 数量 单位 销售单价 销售金额 采购单价 采购金额 1 品名A 100 个 12.00 1200 10.00 1000 2 品名A 200 个 15.00 3000 12.50 2500 3 品名B 230 件 20.00 4600 15.00 3450 4 品名B 270 件 10.00 2700 8.00 2160 按照单位合并后:
项号 品名 数量 单位 销售单价 销售金额 1 品名A-1 300 个 14.00 4200 2 品名B-1 500 个 14.60 7300
开票通知希望分两张开:
项号 品名 数量 单位 采购单价 采购金额 1 品名A-1 50 个 10.00 500 2 品名B-1 200 个 13.50 2700
项号 品名 数量 单位 采购单价 采购金额 1 品名A-1 250 个 12.00 3000 2 品名B-1 300 个 9.70 2910
传统方案里, 要做开票通知要么从合并后的报关单明细取数, 这样就放弃了数据朔源. 要么从合并前的数据取数, 但这样就要求人工重新合并.
要两者兼有, 首先是要建立合并前后的数据关联.