kintone アプリのカスタマイズには、やること「他のアプリからフィールドの値をコピーする」があります。

この やること は、「コピー元のアプリ」に指定したアプリから、ルックアップのようにキーが一致する値を持つレコードのフィールドの値をまとめてコピーすることができます。

上記のカスタマイズでは、コース番号を入力すると、コースマスタアプリからコース番号が一致するレコードの「コース名」フィールドの値を取得し、「名称」フィールドにセットしています。


とても便利な やること なのですが、このやることは複数レコードに対して一括で値を取得するような使い方はできません。

もし、そういった事を行いたい場合は、Job Runner のカスタマイズであれば複数レコード内のテーブルの既存行に対して、各行ごとの値をまとめて取得・セットすることができます。


kintone アプリの設定

カスタマイズ対象アプリ


コースマスタアプリ


※ フィールド名とフィールドコードは同じに設定しています。


カスタマイズ例

Job Runner のカスタマイズを作成するのが初めての方は、下記のページもご確認ください。

はじめての gusuku Customine Job Runner : 年齢計算のカスタマイズ


まず、カスタマイズ対象アプリとコースマスタアプリに、「kintone 接続設定を行う」で接続します。

APIトークンの権限は下記のように指定します。

  • カスタマイズ対象アプリ

    • レコード閲覧

    • レコード編集

  • コースマスタアプリ

    • レコード閲覧



次に、カスタマイズ対象アプリから、処理対象にしたいレコードを取得します。

今回は、「開催月」フィールドの値が今月のレコードを「条件を組み立ててレコードを取得する」で取得しました。

すべてのレコードを処理したい場合は、代わりに「全レコードを取得する」を指定ください。


処理対象のレコードを取得したら、やることは「テーブル行をレコードとして取得する」で、取得したレコード内のテーブル行をレコードとして取得します。

このとき、条件には必ず「レコード1行が準備できた時」を指定してください。

これは、レコード内のテーブルを取り出したいときは、1レコードずつ処理する必要があるためです。


次のアクションも、条件には「レコード1行が準備できた時」を指定します。

これは、アクション3で取得したテーブル行を1行ずつ処理するためです。

テーブル行を1行取り出し、テーブル内の「コース番号」フィールドをキーに、「キーを指定してレコードを取得する」でコースマスタアプリからレコードを取得します。


取得したコース名を、やること「フィールドに値をセットする」でテーブルの行内のフィールドにセットします。

このとき、「値」には、「= $4[0].コース名」のように、アクション4で取得したレコードの1レコード目のコース名フィールド、のように指定してください。


これでカスタマイズは完了です。

「ジョブ生成・設定」ボタンを押して実行するか、またはテスト実行ボタンでテストし、実行結果をお試しください。


複数レコードのテーブルの既存行に、コースマスタから取得した名称が全てセットされましたか?

または、テスト実行の「修了時の処理対象レコード」で想定通りの値が得られましたか?


まとめ

追加画面・編集画面以外でテーブルの既存行に値をセットするカスタマイズは、Job Runner でなければ難しい場合があります。

意外とシンプルなカスタマイズで実現できます。ぜひお試しください。



ご不明点等ございましたら、チャットにてご質問ください!

 Customineドキュメントサポートページもぜひご活用ください。