supportノーコードでらくらくkintoneカスタマイズのCustomineと、キントーンアプリの配布・バックアップ・帳票のDeploitのサポートサイトです。PMあるkintoneアプリにレコードを登録した時、他のアプリにも自動的にレコードを追加したい、レコードが既にあれば更新したい!と思われた事、ありませんか?また、追加や更新を行う際に、「追加していいですか?」「更新していいですか?」のようなダイアログを表示すれば、追加・更新を行うかどうかを利用者に選択させることができ、アプリがもっと使いやすくなります。以前、追加と更新を別アクションで行うパターンと、登録と更新を一つのアクションで行うパターンのTipsをご紹介しました。登録と更新を別アクションで行うTipsはこちら:https://support.gusuku.io/ja-JP/support/solutions/articles/36000052633登録と更新を一つのアクションで行うTipsはこちら:https://support.gusuku.io/ja-JP/support/solutions/articles/36000114809今回は、登録と更新に確認ダイアログを追加したパターンをご紹介いたします!アプリのフォームkintone側で、受発注アプリと顧客マスタアプリを準備します。アプリは登録と更新を一つのアクションで行うTipsで使用したものと同じです。受発注アプリ顧客名、住所と受注明細を配置します。(1行)フィールドを使用しています。顧客名、住所のフィールドコードはフィールド名と同じものを設定します。※受注明細以下のフィールドは今回のカスタマイズでは使用しないので、お試しの際はフィールド追加を省いていただいても問題ありません。顧客マスタ企業名、住所を配置します。(1行)フィールドを使用しています。フィールドコードはフィールド名と同じものを設定します。やりたいこと受発注アプリでレコードを新規追加・編集したとき、顧客マスタに顧客名と企業名が同じレコードがあれば顧客マスタの住所を更新し、なければ新しいレコードを追加する。追加・更新の前に、ダイアログを表示してユーザーに確認を求める。追加の時:「顧客マスタに該当する顧客が登録されていないため、新規追加します。⇒OKが押されたら顧客マスタアプリにレコードを追加する。⇒OKが押されたら顧客マスタの既存レコードを更新する。Customineの設定Customineに受発注アプリのカスタマイズを追加します。顧客マスタに同じ名前の顧客が既に存在するか確認するため顧客マスタからレコードを取得するやること「受発注」アプリの「企業名」フィールドに入力された値をキーに、「顧客マスタ」アプリからレコードを取得したいので「キーを指定してレコードを取得する」を指定します。ダイアログの表示:顧客マスタアプリに既存顧客がないときやることOKとキャンセルを選択させるダイアログを表示したいので「確認ダイアログを表示する」を指定します。メッセージは「顧客マスタに該当する顧客が登録されていないため、新規追加します。よろしいですか?」を指定しました。OKボタンとキャンセルボタンの名前は既定のまま変更していません。「顧客マスタ」アプリから取得したレコードの取得が完了してから処理を行いたいので「他のアクションの実行が完了した時」を指定します。アクションにはレコードを取得するアクション「3」を指定しました。新規追加は「顧客マスタ」アプリからレコードをが取得されなかった場合に行いたいので「レコード件数が0件ならば」を追加します。ダイアログでOKが押されたら顧客マスタアプリに新しいレコードを追加するやること「レコードを追加する」を指定します。追加先アプリは、「顧客マスタ」を指定しました。マッピングは、下記のように設定しています。ダイアログで「OK」を押した時」を指定します。確認・入力ダイアログアクションは、追加の確認ダイアログを表示したアクション「8」を指定しました。【更新】確認ダイアログの表示:顧客マスタアプリに既存顧客があるときやること既存の顧客が登録済みの場合、受発注アプリに入力された内容で顧客マスタアプリを更新していいかユーザーに確認したいので「確認ダイアログを表示する」を指定します。ダイアログに表示するメッセージには顧客名を表示したいので、下記のように指定しました。「${顧客名}」の部分は、アプリで実行される際は顧客名フィールドの値に置き換わります。OKボタンとキャンセルボタンの名前は変更していません。「顧客マスタ」アプリから取得したレコードの取得が完了してから処理を行いたいので「他のアクションの実行が完了した時」を指定します。アクションにはレコードを取得するアクション「3」を指定しました。値の同期は「顧客マスタ」アプリからレコードが取得された時行いたいので「レコード件数が1件以上ならば」を追加します。レコードは、レコードを取得するアクション「3」を指定しました。【更新】顧客マスタアプリの既存レコードを更新するやること顧客マスタの既存レコードを更新したいので「レコードを更新する(キーの値をフィールドで指定)」を指定します。各項目は下記のように設定しました。更新の競合をチェックする:チェックする条件ユーザーに更新するか否かを確認してもらうダイアログで「OK」が押された時だけ処理を行いたいので「確認・入力ダイアログで「OK」を押した時」を指定します。確認・入力ダイアログアクションは、更新確認のダイアログを表示したアクション「9」を指定しました。以上で、Customineでのカスタマイズは完了です。kintoneアプリへ登録し、実行を確認してみてください。顧客マスタアプリにレコードが存在しないとき、存在するときで表示されるダイアログは変わりましたでしょうか?また、新規追加、更新は想定通り行われましたでしょうか?まとめUPSERTのダイアログ追加版カスタマイズ、いかがでしたか?今回のように色々なアプリから利用されているマスタを更新する場合など、ダイアログで処理を行うかどうかを確認した方が良い場面は多いと思います。こちらのTipsでは、2種類のダイアログを出し分けていますが、それぞれの条件を指定する際のポイントは、同時に条件が成立することがないように指定することです。同時に成立するような条件をそれぞれのアクションに指定してしまうと、うまくダイアログが表示されません。カスタマイズがうまく動かないときは、条件が同時に成立するものになっていないか、確認してみてくださいね。分からないことがありましたら、フォーラムの方でご質問ください。いいえフィードバックを送信お役に立てなくて申し訳ありません。フィードバックを残し、このアーティクルを改善するのにどうかご協力ください。