この特集のトップページへ
Chapter 7:プレゼンテーション層の構築

7.8.2 各ボタンが押されたときの処理
●[入金確認][入金確認取消]ボタンが押されたときの処理
 では次に,[入金確認]ボタンと[入金確認取消]ボタンが押されたときの処理を実装する。

○[入金確認]ボタンが押されたときの処理
 [入金確認]ボタン(BTN_SUBMITボタン)が押されたときには,請求書を入金ずみに設定する。そのためには,Business.BillコンポーネントのSubmitBillメソッド(List 6-191)を呼び出せばよい。その実装はList 7-199のようになる。

 Business.BillコンポーネントのSubmitBillメソッド(List 6-191)の実装を見るとわかるように,入金確認のときには,ユーザーに備考の入力を求める必要がある。そこで,7行目にあるようにFormatInputMsgフォーム(Fig.7-90)のGetMessageメソッド(List 7-132)を使い,ユーザーに備考の入力を求めるようにした。

 なお,List 7-199では,カレント行のみが入金確認の対象となる。[送付]ボタンや[送付取消]ボタンを押したとき(それぞれList 7-196List 7-197)のように,選択されたすべての請求書の状態を一括して「入金ずみ」にするような処理は実装されていない。これは,「入金ずみ」にする処理は,一般に範囲を指定して作業するものではなく,逐一入金状況と照らし合わせながら作業してゆくことが多いため,選択された範囲の請求書を一括して「入金ずみ」の状態にする必要は特にないと筆者が判断したためである。もし一括して「入金ずみ」の状態にする処理を実現したいのであれば,List 7-196List 7-197のように,SelBookmarksコレクションを列挙し,そのすべての請求書についてループ処理させるように修正すればよいだろう。

○[入金取消]ボタンが押されたときの処理
 [入金取消]ボタン(BTN_CANCELSUBMITボタン)が押されたときには,「入金ずみ」の状態にした請求書を「送付ずみ(入金まえ)」の状態に戻す。そのためには,Business.BillコンポーネントのCancelSubmitBillメソッド(List 6-192)を呼び出せばよい。その実装は,List 7-200のようになる。

Prev 127/134 Next