kintoneアプリのカスタマイズ特有のポイントであるルックアップは、なかなか癖があり、Customineによるカスタマイズでもルックアップの自動更新は人気となっています。

本サポートサイトでも「マスタ側を更新した場合に自動更新」「ルックアップを参照している側で自動更新」というパターンをご紹介していますが、実際の業務では無条件にルックアップしている側を更新してしまうと、要件に合わないケースがあります。


例えば、すでに発行済の見積書の製品名や製品価格を書き換えてしまうのは運用上良くないですし、受注している案件の製品価格を書き換えるのも、またおかしなことになります。

ということで今回は、より実践的なルックアップの更新ということで、条件を指定してルックアップの更新をするkintoneカスタマイズをしてみようと思います。


前述のとおり、kintoneのルックアップを更新する際には、用途に応じてそれぞれのカスタマイズをご利用ください。


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


利用想定シーン

製品マスタのアプリで、商品の名前が変わったときに条件によっては、それをルックアップしているレコードを更新したい、というようなシーンを想定しています。


例えばここでは、案件管理アプリの「案件ステータス」が「提案中」のものについては、製品マスタを書き換えた際にルックアップを更新する、という運用にするとしましょう。

実際に条件に利用するフィールドは、日付でも何でも構いません。


まず、アプリの構造の説明をします。ここではルックアップ先の自動更新をするkintoneのカスタマイズと同じ構成を利用しています。

具体的なアプリの設定は上記ページをご覧ください。

これに加えて、案件管理アプリが「案件ステータス」というフィールドを持っているものとします。このフィールドを条件に、レコードを更新します。




このフィールドはアプリストアのアプリでは存在しないので、追加しています。



Customineの設定

この製品マスタアプリに対して、製品マスタのレコードが更新されたら、条件によって参照している案件管理のレコードを更新するカスタマイズを作成します。「+」ボタンをクリックして「製品マスタ」のアプリを選択してから、カスタマイズの作成を始めます。


流れとしては以下の様になります。

  • まず条件に合うレコードを取得する
  • 取得したレコードのルックアップフィールドを更新する

それではやってみましょう。


条件に合うレコードの取得

まず案件管理アプリから、条件に合うレコードを取得しましょう。

  • 「やること」にカテゴリー:レコードの中から、「条件を指定してレコードを取得する」を選択します
  • 「取得先アプリ」は「案件管理」を選択します
  • 「検索条件」には、ここでは「案件ステータス in ("提案中")」と入力します。
    検索条件の書き方の詳細については、サイボウズ様のサイトにてご確認ください

やることの設定は以上です。


「条件」には、「レコードを保存した直後(削除後は除く)」を選択しておきます。

設定としてはこうなります。


取得したレコードの更新

次に、取得したレコードを更新します。以下のように設定します。

  • 「やること」にカテゴリー:レコードの中から、「レコード書き出す」を選択します
  • 「レコード」は先程取得したアクション番号1を選択します
  • 「マッピング」には、製品コードフィールドのところに「=製品コード」と設定します。
    これがルックアップ更新時のポイントです。


  • 「更新または挿入」は「既存レコードを更新」を選択します

やることの設定は以上です。


「条件」側には以下を設定します。


これで全体として、保存した直後に提案中のレコードを取得して、そのルックアップフィールドを更新することが出来ます。


最終的には以下のようになります。


これでカスタマイズは完成です!


黄色の「kintoneアプリへ登録」をクリックして、kintoneアプリに反映させたあと、製品マスタの製品レコードを更新した際に、「提案中」のレコードのルックアップが更新されていることを確認してください。


まとめ

条件を指定してルックアップの更新をするkintoneのカスタマイズは以上になります。

このカスタマイズも含め、様々なパターンのルックアップ更新を実現して、より業務に沿ったkintoneアプリを作ってご活用ください!


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