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

7.8.1 請求書情報ウィンドウのフォーム
●メニュー選択によって請求書管理用のフォームが開くようにする
 FormBillフォームを作ったら,ユーザーがアプリケーションのメニューから[表示]−[請求書情報]を選択したときに,FormBillフォームが開くようにする。それには,[表示]−[請求書情報]に対応するMenu_BillClcikイベントを処理するように実装すればよい(メニュー項目については,Table 7-27を参照)。その実装をFormMainフォーム(Fig.7-1)にList 7-178のとおり実装する。

 ところで,「6.6 請求書の処理」で述べたとおり,すべての請求書の情報はAllAdminAccountingAccountingAdminといういずれかのロールに属さなければ参照できないようにしている。そこで,もしアプリケーションをロードしたユーザーが,AllAdminAccountingAccountingAdminといういずれのロールにも属さなかった場合には,メニューの[表示]−[請求書情報]を淡色表示し,選択できないようにしてしまうことにする。そのための処理を,FormMainフォーム(Fig.7-1)にList 7-179のように実装する。


One Point! 請求書情報が,AllAdminロール,Accountingロール,AccountingAdminロールに属するユーザーだけしか参照できないというのは,仕様として問題があると思われる読者もいるだろう。確かに,請求書は営業部の人間が顧客に渡すこともあり得る。その点では,SalesSalesManagerSalesAdminといういずれかのロールに属するユーザーであれば,請求書を参照できるようにしたほうがよいのかもしれない。しかし,この問題はアプリケーションのロジックの問題ではなく,業務形態あるいは組織ごとの作業分担ポリシーに基づく問題なので,本連載では特に修正せず,このまま話を進めさせていただく。

●フォームのサイズに部品を揃える
 次に,フォームの大きさがユーザーによって調整されたとき,そのフォームの大きさに合わせてコンポーネントの位置やサイズを調整するように,FormBillフォーム(Fig.7-105)にList 7-180の処理を実装しておく。

Prev 122/134 Next