会社、事業所、顧客モデルを用意します。

次のモデルを用意します。

モデル説明備考
予算策定時期会社モデルで利用する予算策定時期マスタです。選択肢モデル
会社顧客が所属する会社です。
顧客未購入者も含む、顧客マスタです。
決算時期会社モデルで利用する決算時期マスタです。選択肢モデル
事業所会社モデルの子モデルです。1つの会社は複数の事業所を持つことができます。子モデル
事業所規模事業所モデルが利用する規模マスタです。選択肢モデル
図1 用意するモデル

予算作成時期

会社モデルの「予算策定開始時期」項目が参照するマスタです。選択肢モデルとして用意します。初期値も設定します。

図2 予算策定時期モデルの初期値

決算時期

会社モデルの「決算期」項目が参照するマスタです。初期値も設定します。

図3 決算時期モデルの初期値

決裁権の有無

顧客モデルの「決裁権」項目が参照するマスタです。チェックボックスとするため、チェック状態を "1" とするような初期値を設定します。

図4 決裁権の有無モデルの初期値

事業所規模

事業所モデルの「事業所規模」項目が参照するマスタです。初期値も設定します。

図5 事業所規模モデルの初期値

会社

顧客が所属する会社の情報を一元管理します。

図6 会社モデル

事業所

会社モデルを親として、これに紐づく子モデルとして用意します。親モデルの主キーを保持する外部キー項目「会社ID」を用意します。

図7 事業所モデル

外部キーの設定を行います。親モデルおよび親モデルの主キーを指定します。

図8 外部キーの設定

親である会社モデルの登録・更新画面で、同時に子モデルである事業所の編集も行えるようにします。具体的には、事業所モデルの一覧更新画面を有効にします。

図9 子モデル同時更新の設定を行う

顧客

顧客の情報を一元管理します。

図10 顧客モデル

顧客が参照する会社モデルを指定します。会社のデータは大量に存在することが想定されるため、モデル参照の方式は "検索画面" とします。

図11 モデル参照の設定

メニューへの登録

用意したモデルをそれぞれメニューに登録します。

今回は会社モデルと顧客モデルを、新しく用意した「顧客管理」のタブに含めました。事業所モデルはメニューは含めていません。これは会社モデルと親子関係になるため、子モデル単独での操作は行えないようにしています。

選択肢モデルは編集しないとして、メニューには追加していません。

図12 メニューの設定

会社の登録

ビルドしたアプリケーションの動作を確認します。メニューから、新しく用意した「顧客管理」タブを開きます。

図13 顧客管理タブ

会社のアイコンを選択します。最初は検索画面が表示されます。「登録画面へ」ボタンを押下し、登録画面を開きます。

図14 会社検索画面

新規登録画面が開きます。会社情報を入力したあと、画面の下部に用意された事業所モデルのタブ内の「新規」ボタンを押下します。

図15 会社情報の入力

複数の事業所モデルを同時に登録、更新することができます。

図16 事業所情報の入力

登録を行いました。

図17 会社と事業所情報を同時に登録する

顧客の登録

メニューから顧客のアイコンを選択します。最初は検索画面が表示されます。「登録画面へ」ボタンを押下し、登録画面を開きます。

図18 顧客検索画面

新規登録画面が開きます。顧客情報を入力します。

図19 顧客情報の入力

このモデルは登録時に確認機能を設定しています。内容をチェックし、よければ「登録する」ボタンを押下します。

図20 顧客情報の登録を確認する

検索画面から一覧表示を行うと、登録されたデータを表示することができます。

図21 顧客情報 一覧表示

全文検索

顧客モデルには全文検索を設定しています。

任意の項目について、モデル項目の詳細ダイアログを開きます。"検索制御 > 全文検索" で "全文検索を行う" という文言をマウスで選択状態とし、ダイアログ下に用意されている「一括設定」ボタンを押下します。

図22 全文検索の確認 (1)

一括設定により、どの項目が全文検索の対象となっているかを把握することができます。

図23 全文検索の確認 (2)

検索画面から全文検索タブを開き、任意の文字列を入力して検索することができます。

図24 全文検索機能

ヘルプメッセージ

入力フィールドの下部、または入力欄にヘルプメッセージを設定することができます。

図25 入力フィールドの下部にヘルプメッセージを設定する
図26 入力欄にプレースホルダを設定する

子モデルの値を親モデルに設定する

会社-事業所という関係で、子モデルである複数の事業所の先頭データに含まれた電話番号を、親モデルである会社の電話番号に自動設定する方法を説明します。

会社モデルの「事業所先頭電話番号(隠し)」項目に、次の式を設定します。

FIRST(
  ${office_lp.tel},
  "LEN(${office_lp.officename})>0"
)

FIRST 関数は、子モデルの先頭レコードの値を取得します。第一引数は "子モデルID_lp.項目ID" となります。接尾語 "_lp" は、一覧表示用のモデルを意味します。さらに第二引数に条件を設定できます。ここでは事業所名が設定されていること(文字列の長さが0より大きいこと)を条件としています。つまり事業所名が未設定のレコードは無視します。

図27 計算式の設定

実行例を示します。会社モデル(親)の電話番号を空白とし、事業所モデル(子)を複数、登録します。

図28 会社-事業所モデルの登録 (1)

データを登録すると、事業所モデルの先頭の電話番号が自動的に設定されます。

図29 会社-事業所モデルの登録 (2)