通常だと、ルックアップをした時に登録がなかった場合は、ルックアップのコピー元アプリを開いてレコードを追加した後に、再度ルックアップのコピー先アプリに戻ってルックアップを取得しないといけません。
そこで、コピー先アプリから、コピー元アプリにレコードを追加するボタンを追加してみます。
今回のテンプレートで出来ること
ルックアップのコピー元アプリにレコードを追加できます
アプリの準備
ルックアップのコピー元アプリを「顧客マスタアプリ」、ルックアップのコピー先アプリを「訪問記録アプリ」として作成します。
今回は、ルックアップのコピー元である「顧客マスタアプリ」に以下のフィールドを作成しました。
フィールド名 | フィールドコード | フィールドタイプ、他 |
顧客コード | 顧客コード_コード | 文字列、重複禁止 |
顧客名 | 顧客名_コード | 文字列 |
種別 | 種別_コード | ラジオボタン |
電話番号 | 電話番号_コード | リンク |
住所 | 住所_コード | 文字列 |
スペース (要素ID:add) |
ルックアップのコピー先である「訪問記録アプリ」には、値をコピーするフィールドに加えて 訪問記録 というフィールドも作成しておきます。
ルックアップフィールドは次のように設定します。
Customineの設定
全体の流れはこのようになります。
追加・編集画面
「追加画面・編集画面を表示した時」に「ボタンをスペースに配置する」を使ってスペース(add)にボタンを配置し、同時に「フィールドを有効化する」でルックアップでコピーされるフィールドを有効化して入力できるようにします。
ボタンを押した際の処理
「ボタンを押した時」に「読み込み中画面を表示する」で、読み込み中画面を表示します。その後に同一キーのレコードが存在するかを確認するために「キーを指定してレコードを取得する」を使ってレコードを取得します。
同一キーのレコードがあった場合の処理
「他のアクションの実行が完了した時」で7番のアクションを指定すると、レコード取得後に実行することになります。「レコード件数が1件以上ならば」を使い、1件以上レコードがあった場合は「エラーダイアログを表示する」を使ってエラーダイアログを表示して終了にします。
レコード追加処理
レコード取得後に「レコード件数が0件ならば」で取得したレコードがない場合は「レコードを追加する」を使ってレコードを追加します。追加後は「読み込み中画面を終了する」を使って、読み込み中画面を終了するのを忘れないようにしてください。
なお、「レコードを追加する」のマッピングはこんな感じになります。
まとめ
ボタンを押すことで他アプリへレコードを追加出来るのと、その際に重複チェックをするという処理が出来ました。
処理を簡素化するためにエラーチェックは最小限となっていますので、用途に合わせて変更をしてください。