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ドキュメントやサポートページもぜひご活用ください。