我正在为大型商业建设项目的项目管理订购系统设计表格。输入客户订单时,客户拥有其原始采购订单。未来,客户将通过添加到订单或进行更改来更改原始 PO。我需要将这些更改标记/跟踪并编号为客户订单上的更改订单,但原始订单需要在订单顶部保持完整,并带有小计(以保留原始报价/订单),以及任何更改将在下面列出作为其相关定价的变化。然后将在底部有一个新的总数,该总数将说明原始订单和变更订单。
关于如何设计表格以跟踪与原始订单项目/总数分开的这些更改有什么想法?
到目前为止,我有以下表格:客户、订单、订单详情、产品等。
编辑:希望澄清:
- 客户下订单(订单表:OrderID、PO#、OrderDate 等)
- 订单有一对多行项目(OrderDetail 表:LineID、Qty、Description 等)
- 一个订单可以有一对多的订单更改。
- 订单更改只是将订单项添加到订单中,每个订单更改(一个或多个订单项)都需要记录(例如“更改订单 #1”、“更改订单 #2”等),以便它们可以在客户和我的客户之间很容易引用。
下订单后,如果客户想稍后添加到订单中,我会看到将添加行项目添加到 OrderDetail 表中。
所以我的客户需要能够查找:
- 原始订单上有哪些商品,原始订单总额是多少。
- 对订单做了什么“变更单”,每个变更单都有自己的日期和价格。
- 新订单总额是多少
我的问题是,我可以将变更单行项目放在同一个表中还是不同的表中?如何显示原始订单的一部分?我如何显示哪些项目是每个变更单的一部分?
最好使用另一张或两张桌子吗?
编辑:可能的解决方案
@Darklantern - 如果我理解你的想法,请告诉我,它看起来像这样
初始订单:
Order Header:
- Version = 1
Order Detail:
- Version = 1 Part = A
- Version = 1 Part = B
添加变更单后的订单:
Order Header:
- Version = 2
Order Detail:
- Version = 1 Part = A
- Version = 1 Part = B
- Version = 2 Part = A
- Version = 2 Part = B
- Version = 2 Part = C
这会很棒,但是我要跟踪原始订单的一部分,版本 1 的一部分等等。你的想法看起来不错,但如果没有比较,将无法清楚地显示“版本 2 B 部分”是否被编辑它到“版本1 B部分”。
我把你的想法更进一步了。它会起作用吗,或者我没有看到什么缺陷:
初始订单:
Order Header:
- Date, etc
Order Detail:
- Version = 0 Part = A
- Version = 0 Part = B
多次订单更改后的订单:
Order Header:
- Date, etc
Order Detail:
- Version = 0 Part = A
- Version = 0 Part = B
- Version = 1 Part = C
- Version = 1 Part = B Upgraded to D (price is the difference between B and D
- Version = 2 Part = A removed (price is a negative amount)
那么问题来了,报告有多简单?打印采购订单或发票时,我可以列出每个“版本”及其自己的组标题和小计吗?因为很多时候每个“版本”都会有自己的批次定价。
我是在正确的轨道上,还是在兔子小径上?