顧客マスタからのルックアップなど、通常のルックアップでは単一レコードのみ取得します。ここでは納品伝票のような、テーブルに複数レコードを追加するカスタマイズを作成します。
今回のカスタマイズで出来ること
ルックアップで選択したレコードをテーブルに追加します
アプリの準備
ルックアップのコピー元アプリを「商品マスタアプリ」、ルックアップのコピー先アプリを「伝票入力アプリ」として作成します。
今回は、ルックアップのコピー元である「商品マスタアプリ」に以下のフィールドを作成しました。
フィールド名 | フィールドコード | フィールドタイプ、他 |
JAN | JAN_コード | 文字列 |
メーカー | メーカー_コード | 文字列 |
品名 | 品名_コード | 文字列 |
規格 | 規格_コード | 文字列 |
部門 | 部門_コード | 文字列 |
定番原価 | 定番原価_コード | 数値 |
定番売価 | 定番売価_コード | 数値 |
スペース (要素ID:lookup) |
ルックアップのコピー先の「伝票入力アプリ」には、値をコピーするフィールドをテーブルにして作成します。また、日付と取引先のフィールドも作成しておきます。
Customineの設定
全体の流れはこのようになります。
追加・編集画面を表示した時の処理
スペース(lookup)にボタンを追加します。
ボタンを押した時の処理
全レコードを取得します。その後に取得したレコードをポップアップ表示します。ポップアップは複数選択です。
ダイアログで選択してOKを押した後の処理
選択したレコードをテーブルへ書き出します。
ルックアップして追加を繰り返すと、テーブルに追記されていきます。
テーブルが1行だけの場合は消すことができないので、2行目以降を追加後に手動で消してください。テーブルに追加されたものを消してやり直す時も同様の手順となります。
まとめ
テーブルに選択したものを一括で追加できるので、色々な用途に使えると思います。
テーブルに追加するのはレコードとして取得したデータなので、「テーブル行をレコードとして取得する」「他のレコード内のテーブルをレコードとして取得する」も利用可能です。