从多个处理数据库模型的地方生成的发票

时间:2016-12-30 08:09:10

标签: sql database linq database-design

我有发票管理系统。它有报价,销售订单,采购订单

用户可以选择从多个地方生成发票

  1. 批准时的报价
  2. 客户接受的销售订单
  3. 直接购买订单可以转换为发票
  4. 我有一张桌子,那里的子表喜欢这个

    1. 语录,引用项目
    2. 销售订单,销售订单项目
    3. 采购订单,采购订单项目
    4. 发票,发票项目
    5. 如何在不破坏关系的情况下记录生成发票的位置?

1 个答案:

答案 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|...