ルックアップのカスタマイズは人気があるので、本サポートサイトでも「マスタ側を更新した場合のルックアップの自動更新(ルックアップコピー先の自動更新をするkintoneのカスタマイズ)」や「ルックアップを参照している側での自動更新(ルックアップしているフィールドの自動更新をするkintoneのカスタマイズ)」などルックアップに関するカスタマイズをいくつかご紹介しています。
ただ、上記のようなルックアップの自動更新は便利ですが、実際の業務では無条件にルックアップを更新してしまう事が、要件に合わないケースがあります。
例えば、すでに発行済の見積書の製品名や製品価格を書き換えてしまうのは運用上良くないですし、受注している案件の製品価格を書き換えると、データの不一致が起こってしまいます。
今回は、こういったことに対応できるような、より実践的なルックアップの更新として、条件を指定してルックアップを更新するkintoneカスタマイズを作成してみます。
Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。
なお、前述のとおり、kintoneのルックアップを更新する際には、様々なパターンがありますので、用途に応じてそれぞれのカスタマイズをご利用ください。
マスタ側を更新したら、それを参照している全てのレコードを更新する → 【ルックアップコピー先の自動更新をするkintoneのカスタマイズ】
ルックアップを参照している側で、常にルックアップを更新する → 【ルックアップしているフィールドの自動更新をするkintoneのカスタマイズ】
ルックアップを参照しているレコードを、条件を指定して更新する → こちらの記事
利用想定シーン
こちらのページでは、製品マスタアプリで商品の名前を変えたときに、案件管理アプリでそれをルックアップしていて条件に一致したレコードを更新する、というシーンを想定しています。
ここでは、製品マスタにて製品名を書き換えた際に、案件管理アプリの「案件ステータス」が「提案中」のものでかつ、製品コードが一致するレコードのルックアップを更新する、という運用にするとしましょう。
実行例としては次の図の通りです。
製品マスタで製品名を変更してレコードを保存すると、案件管理でそのレコードを参照しているルックアップが自動的に更新され、ルックアップと一緒にコピーする製品名も更新されます。
アプリの設定
アプリの設定は「ルックアップコピー先の自動更新をするkintoneのカスタマイズ」と基本的には同じで、製品マスタアプリと案件管理アプリの2アプリを使用します。
1点異なるのは、案件管理アプリに「案件ステータス」というフィールドを追加することで、このフィールドを条件に、レコードを更新します。
製品マスタアプリ
※フィールド名とフィールドコードは同じものを設定しています
案件管理アプリ
※フィールド名とフィールドコードは同じものを設定しています
アプリの関係性
使用する2つのアプリの関係性についてですが、次の図の通りです。これは「ルックアップコピー先の自動更新をするkintoneのカスタマイズ」でご紹介している内容と同じ構成となります。
Customineの設定
「製品マスタアプリ」に対してカスタマイズを作成します。
その内容としては、製品マスタアプリのレコードを保存したら、条件によって参照している案件管理アプリのレコード(のルックアップ)を更新する、というものになります。
流れは次の通りです。
まず、条件に合うレコードを取得する
取得したレコード(のルックアップフィールド)を更新する
それではやってみましょう。
条件に合うレコードの取得
まず案件管理アプリから、条件に合うレコードを取得しましょう。
やること「条件を組み立ててレコードを取得する」、条件「レコードを保存した直後(削除後は除く)」を使用します。
検索条件は次の画像のように条件を指定します。
案件ステータスの値に「提案中」を設定しました。
この時、挿入 > 選択肢 と進めると、ラジオボタンやドロップダウンなど選択肢を設定するフィールドの場合はキーボード入力をせずとも指定する事ができます。
取得したレコードの更新
次に、取得したレコードを更新します。以下のように設定します。
やること「レコードを書き出す」、条件「他のアクションの実行が完了した時」を使用します。
「やること」の設定内容については、まず「レコード」にて先程レコードを取得したアクション番号1を選択します。
次に、「マッピング」には、製品コードフィールドのところに「=製品コード」と設定します。これがルックアップの更新をする時のポイントです。
これは、既にルックアップにセットされている値と同じ値をマッピングでセットしてレコードを更新する、という内容になります。これによりルックアップと一緒にコピーするフィールドの値も更新できます。
そして「更新または挿入」は「既存レコードを更新」を選択します。
また、条件「他のアクションの実行が完了した時」の「アクション」にはレコードを取得したアクション番号1を選択しておきます。
これでカスタマイズは完成です!
黄色の「kintoneアプリへ登録」をクリックして、kintoneアプリに反映させたあと、製品マスタの製品名の値を変更してレコードを保存した際に、製品コードが一致していてかつ「提案中」のレコードのルックアップが更新されていることを確認してみてください。
まとめ
条件を指定してルックアップの更新をするkintoneのカスタマイズは以上になります。
このカスタマイズも含め、様々なパターンのルックアップ更新を実現して、より業務に沿ったkintoneアプリを作ってご活用ください!
ご不明点等ございましたら、チャットにてご質問ください!
Customineドキュメントやサポートページも、ぜひご活用ください。