この記事では、kintoneのルックアップ操作時にマスタアプリに登録がない場合、画面を移動せずにその場で簡単にレコードを追加するカスタマイズ方法を紹介します。
運用に合わせて選択できるよう、以下の2つのアプローチ(設定方法)を解説します。
* パターン1(ボタン設置):画面上に「マスタ追加」ボタンを配置し、任意のタイミングでレコードを追加する
* パターン2(取得失敗時):ルックアップの取得失敗時にダイアログを開いてマスタ登録を行い、登録した値を自動でルックアップフィールドにセットして取得まで完了させる
パターン1

パターン2

アプリの設定
今回のカスタマイズでは2つのアプリを使用します。カスタマイズは「発注アプリ」に対して行います。
※フィールド名とフィールドコードは同じものを設定しています。
・商品マスタアプリ
- 商品コード(文字列1行)
- 商品名(文字列1行)
・発注アプリ(カスタマイズ対象アプリ)
- 商品コード(ルックアップフィールド:商品マスタアプリの商品コードを参照)
- 商品名(文字列1行:ルックアップのほかのフィールドのコピー)

カスタマインの設定
パターン1
1.「マスタ追加」ボタンを配置する
まずは、カスタマイズの起動のきっかけとなるボタンを配置します。
アクション26
やること:「ボタンをフィールド名の右に配置する」
フィールド:商品コード
ラベル:マスタ追加
条件:「追加画面・編集画面を表示した時」
一覧画面の鉛筆を押した時:一覧画面の鉛筆を押した時は含めない

2.ダイアログを表示して入力内容を受け取る
次に、レコード追加に進むかどうかの確認ダイアログを表示し、必要な情報を入力するためのダイアログを順番に呼び出します。最後に、入力内容の確認ダイアログを表示します。
アクション27
やること:「確認ダイアログを表示する」
メッセージ入力:ルックアップ元にレコードを追加しますか?
OKボタンの名称:追加する
キャンセルボタンの名称:キャンセル
条件:「ボタンを押した時」
ボタン:26
アクション28
やること:「入力ダイアログを表示する」
メッセージ入力:商品コードを入力してください
OKボタンの名称:OK
キャンセルボタンの名称:キャンセル
空を許可するかどうか:空の場合OKを押せなくする
初期値:<入力されていません>
条件:「確認・入力ダイアログで「OK」を押した時」
確認・入力ダイアログアクション:27
アクション29
やること:「入力ダイアログを表示する」
メッセージ入力:商品名を入力してください
OKボタンの名称:OK
キャンセルボタンの名称:キャンセル
空を許可するかどうか:空の場合OKを押せなくする
初期値:<入力されていません>
条件:「確認・入力ダイアログで「OK」を押した時」
確認・入力ダイアログアクション:28
アクション30
やること:「確認ダイアログを表示する」
メッセージ入力:
以下の内容で追加してよろしいですか?
商品コード:${$28}
商品名:${$29}
OKボタンの名称:追加する
キャンセルボタンの名称:キャンセル
条件:「確認・入力ダイアログで「OK」を押した時」
確認・入力ダイアログアクション:29

3.マスタアプリへレコードを追加する
最後に、商品マスタへ入力された情報を登録します。
アクション31
やること:「レコードを追加する」
追加先アプリ:商品マスタ
マッピング:
商品コード=$28
商品名=$29
条件:「確認・入力ダイアログで「OK」を押した時」
確認・入力ダイアログアクション:30
以上でパターン1の設定は完了です。
ボタンを押してダイアログからマスタを追加し、正しく登録されるかお試しください。
パターン2
全体の流れはパターン1と同様のため、パターン1と異なる部分を中心に解説します。
1.ルックアップ失敗時にダイアログを表示して入力内容を受け取る
カスタマイズが動く条件として、条件「ルックアップで取得が失敗した時」を使用します。
商品コードを入力するアクション35では「初期値:=商品コード」と設定することで、ルックアップ失敗時に入力されていた値がそのまま初期値としてセットされます。
アクション34
条件:「ルックアップで取得が失敗した時」
ルックアップフィールド:商品コード
アクション35
やること:「入力ダイアログを表示する」
メッセージ入力:商品コードを入力してください
OKボタンの名称:OK
キャンセルボタンの名称:キャンセル
空を許可するかどうか:空の場合OKを押せなくする
初期値:=商品コード

2.マスタアプリへレコードを追加する

3.登録した値をフィールドにセットして自動取得する
追加したレコードの情報をルックアップフィールドに自動でセットし、そのまま再取得を行います。
アクション39
やること:「フィールドに値をセットする」
フィールド:商品コード
値:=$35
条件:「他のアクションの実行が完了した時」
アクション:38
アクション40
やること:「ルックアップを取得しなおす」
ルックアップフィールド:商品コード
条件:「他のアクションの実行が完了した時」
アクション:39

以上で設定は完了です。
ルックアップ取得失敗時にダイアログからマスタを追加し、自動でフィールドセットおよび再取得が行われるかお試しください。
最後に
マスタアプリへのレコード追加時に、自動採番も併せて行いたい場合は、下記の記事を参照ください。
・(参考):自動採番して、レコード登録する
ご不明な点がございましたら、チャットでお問い合わせください。
Customineドキュメントやサポートページも、ぜひご活用ください。