我有发票管理系统。它有报价,销售订单,采购订单
用户可以选择从多个地方生成发票
我有一张桌子,那里的子表喜欢这个
如何在不破坏关系的情况下记录生成发票的位置?
答案 0 :(得分:1)
在Invoice表中创建了两个新列:
InvoiceSource VARCHAR(100)
InvoiceSourceID INT
修改代码以存储创建发票的源和ID。例如,如果从具有主键1009的报价生成发票。发票表中将存在以下内容:
InvoiceId|InvoiceSource|InvoiceSourceID|...
----------------------------------------
1200| 'QUOTATION'| 1009|...
随后,如果将具有Id 1346的销售订单转换为发票,则发票表中将存在以下内容:
InvoiceId|InvoiceSource|InvoiceSourceID|...
----------------------------------------
1200| 'QUOTATION'| 1009|...
1201| 'SALESORDER'| 1346|...