Cybozu developer networkのTipsのURL:

https://developer.cybozu.io/hc/ja/articles/200927250



あるkintoneアプリにレコードを登録した時、他のアプリにも自動的にレコードを追加したい、レコードが既にあれば更新したい!と思われた事、ありませんか?

例えば、受注アプリにレコードを登録した時に顧客マスタアプリにレコードが無ければ新規追加し、あれば住所だけ更新したい、といったケースです。


難しそうに思える機能ですが、Customineを使えばとっても簡単に実現できます!


Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください


アプリのフォーム

kintone側で、受発注アプリと顧客マスタアプリを準備します。


受発注アプリ

顧客名、住所と受注明細を配置します。2つとも文字列 (1行)フィールドを使用しています。

顧客名、住所のフィールドコードはフィールド名と同じものを設定します。

※受注明細以下のフィールドは今回のカスタマイズでは使用しないので、お試しの際はフィールド追加を省いていただいても問題ありません。



顧客マスタ

企業名、住所を配置します。2つとも文字列 (1行)フィールドを使用しています。

フィールドコードはフィールド名と同じものを設定します。


やりたいこと

受発注アプリでレコードを新規追加・編集したとき、顧客マスタに顧客名と企業名が同じレコードがあれば顧客マスタの住所を更新し、なければ新しいレコードを追加する。


Customineの設定

Customineに受発注アプリのカスタマイズを追加します。


受発注アプリでレコードが追加・更新された時、顧客マスタアプリにレコードを更新または追加する


やること

レコードを更新または追加する(キーの値を直接指定)」を選択します。

追加先アプリには「顧客マスタ」を指定します。

受発注アプリの「顧客名」フィールドの値と顧客マスタアプリの「企業名」フィールドの値が一致した時に更新または追加を行いたいので、下記のように設定します。

  • キーとなるフィールド:(顧客マスタアプリの)企業名

  • キーの値:(受発注アプリの)顧客名


更新・追加する時のフィールドマッピングは下記のように指定します。


条件

受発注アプリの新規レコードが追加された時、または既存レコードが更新された時に処理を行いたいので「レコードを保存した直後(削除後は除く)」を選択します。



以上でカスタマイズは完了です!

「kintoneアプリへ登録」し、動作を確認してみましょう!


あらかじめ顧客マスタアプリに「▲▲▲商事」を登録しておき、同じ企業名で受発注アプリにレコードを登録すると・・・

(登録しておいた顧客マスタアプリのレコード)


(受発注アプリに登録したレコード)


(受発注アプリレコード登録後の顧客マスタアプリのレコード)


また、顧客マスタアプリに存在しない顧客名を受発注アプリでレコード登録すると、新規レコードが顧客マスタアプリに登録されることを確認してみてください。


まとめ

レコードを更新または追加する(キーの値を直接指定)」を使えば、難しそうに思える機能もたった1アクションで実現できます。

色々な条件と組み合わせて、ぜひご活用ください!


もし分からないことがありましたら、フォーラムの方でご質問ください。