顧客マスタからのルックアップなど、通常のルックアップでは単一レコードのみ取得します。ここでは納品伝票のような、テーブルに複数レコードを追加するカスタマイズを作成します。


今回のカスタマイズで出来ること

  • ルックアップで選択したレコードをテーブルに追加します


アプリの準備

ルックアップのコピー元アプリを「商品マスタアプリ」、ルックアップのコピー先アプリを「伝票入力アプリ」として作成します。


今回は、ルックアップのコピー元である「商品マスタアプリ」に以下のフィールドを作成しました。


フィールド名

フィールドコード

フィールドタイプ、他

JAN

JAN_コード

文字列

メーカー

メーカー_コード

文字列

品名

品名_コード

文字列

規格

規格_コード

文字列

部門

部門_コード

文字列

定番原価

定番原価_コード

数値

定番売価

定番売価_コード

数値



スペース
(要素ID:lookup)



ルックアップのコピー先の「伝票入力アプリ」には、値をコピーするフィールドをテーブルにして作成します。また、日付と取引先のフィールドも作成しておきます。




Customineの設定

全体の流れはこのようになります。



追加・編集画面を表示した時の処理

スペース(lookup)にボタンを追加します。




ボタンを押した時の処理

全レコードを取得します。その後に取得したレコードをポップアップ表示します。ポップアップは複数選択です。


ダイアログで選択してOKを押した後の処理

選択したレコードをテーブルへ書き出します。


ルックアップして追加を繰り返すと、テーブルに追記されていきます。

テーブルが1行だけの場合は消すことができないので、2行目以降を追加後に手動で消してください。テーブルに追加されたものを消してやり直す時も同様の手順となります。


まとめ

テーブルに選択したものを一括で追加できるので、色々な用途に使えると思います。

テーブルに追加するのはレコードとして取得したデータなので、「テーブル行をレコードとして取得する」「他のレコード内のテーブルをレコードとして取得する」も利用可能です。