この特集のトップページへ
Chapter 6:ビジネスロジックの設計



6.6.2 請求書の作成
●独立した請求書を作る
 以上で,定期的に請求書を作る処理は実装した。次に,1つの伝票に対して1つの請求書を作成する処理を実装する。1つの伝票に対して1つの請求書を作成する場合,「請求書を作りたい伝票の伝票番号を指定し,それに関する1枚の請求書を作る」という処理が一般的だろう。そこで,Business.Billコンポーネントに次のようなMakeOneBillメソッドを実装する。

Public Function MakeOneBill(ByVal SlipID As Long) As Long
    ' 指定された伝票から請求書を作成する
    ' 【引数】
    '   SlipID = 請求書を作成したい伝票の伝票番号
    ' 【戻り値】
    '   作成された請求書の請求書番号
End If

 MakeOneBillメソッドは,引数に請求書を作りたい伝票の伝票番号を渡すと,請求書を作成し,作成した請求書の請求書番号(請求書情報テーブルのIDフィールドの値)を返す。ただし,経理処理ずみになっていない伝票が指定された場合には,エラー扱いとする。また,指定された伝票のONEBILLFLAGフィールドの値がFalseである場合にも,エラー扱いとする。

 MakeOneBillメソッド内では,次の処理をすればよい。

1. 指定された伝票が経理処理ずみであることを確認する
 まず,引数SlipIDに指定された伝票が経理処理ずみであることを確認する。そのためには,List 6-106に示したDataObj.SlipコンポーネントのGet_SlipStatusメソッドを使えばよい。
 
2. 指定された伝票が1枚単位で請求書を作成するものであることを確認する
 次に引数SlipIDに指定された伝票が1枚単位で請求書を作成するものであることを確認する。そのためには,List 6-98に示したDataObj.SlipコンポーネントのGetRecord_Billメソッドを使えばよい。
 
3. 請求書を作る
 伝票から請求書を作る。これにはList 6-172に示したDataObj.BillコンポーネントのAddRecordメソッドを呼び出せばよい。
 
4. 伝票の状態を「請求書作成ずみ」にする
 伝票の状態を「請求書作成ずみ」にするには,List 6-147に示したDataObj.SlipコンポーネントのSet_MADEBILLFLAGメソッドを呼び出せばよい。
 
5. 伝票と請求書を結び付ける
 3. で作成した請求書と伝票とを結び付ける。そのためにはList 6-173で示したDataObj.SlipコンポーネントのSetBillIDメソッドを呼び出せばよい。
 

 上記の5つの処理をするようにBusiness.BillコンポーネントにMakeOneBillメソッドを実装したものが,List 6-176である。

prevpg.gif Chapter 6 84/92 nextpg.gif