2016-12-30 7 views
0

私は請求書管理システムを持っています。それは二重引用符、販売注文、発注書を持っているデータベースモデルを扱う複数の場所から生成された請求書

ユーザーが複数の場所

、それが顧客に受け入れられたとき、それは
  • 販売注文を承認され
    1. 引用からの請求書を生成するオプションを持っている
    2. 購入注文は、直接

    私はテーブルを持っており、そこに副表がこの

    を好き請求書に変換することができます0
    1. 引用、引用項目
    2. 販売注文、販売注文項目
    3. 発注書、発注書の項目
    4. 請求書、請求書明細

    どのように私は、請求書がどこにあるかを記録しておくことができます関係を壊すことなく生成された?請求書テーブルで

  • 答えて

    1

    は、2つの新しい列を作成しました:

    InvoiceSource VARCHAR(100) 
    InvoiceSourceID INT 
    

    は、請求書を作成したもののソースとIDを保存するようにコードを変更します。請求書は、主キー1009で引用から生成されている場合たとえば、次の例は、請求書テーブルに存在します:

    その後
    InvoiceId|InvoiceSource|InvoiceSourceID|... 
    ---------------------------------------- 
        1200| 'QUOTATION'|   1009|... 
    

    同上1346との受注は、以下の中で存在する請求書に変換されている場合請求書テーブル:あなたは「リンク」何を参照していると言うとき

    InvoiceId|InvoiceSource|InvoiceSourceID|... 
    ---------------------------------------- 
        1200| 'QUOTATION'|   1009|... 
        1201| 'SALESORDER'|   1346|... 
    
    +0

    あなたの解決策の問題は、SQL Serverデータベースにリンクが – maztt

    +0

    @mazttを逃すことになるということでしょうか? – user7351608

    +0

    また、現在の外部キーは何ですか? – user7351608

    関連する問題