Job Runnerを使うと、複数のレコードを取得し、それらのレコードを使った処理を実現する事ができます。
この記事では全レコードまとめての処理を行う例についてお伝えします。
はじめに
・集計
・絞り込み
といった、取得したレコードに対して、全レコードが揃ってから処理を行う様なカスタマイズを実現する場合は、条件「レコード全行が準備できた時」を使用します。
次の例は、『売上』アプリから全レコードを取得し、レコード内の『合計金額』フィールドの値を合計するカスタマイズです。
今回のカスタマイズで用いるアプリ
注:この記事で用いるアプリは、カスタマインの歩き方 カスタマイズお試し用ファイルダウンロード の Job Runner 編にアプリテンプレート、サンプルデータがありますので、そちらをご利用頂く事もできます。
はじめから自分でアプリを作成したい場合は次に記載するようにアプリを作成してください。
『売上』アプリ
※フィールドコードとフィールド名は同じものを指定してください
※今回のカスタマイズに必要なフィールドのみ記載しています
また、kintoneアプリのAPIトークンを次の様に設定してください。
※「レコード閲覧」設定のみ
また今回は、『売上』アプリに下記のようなレコードが登録されている場合を例にとります。
カスタマイズ
接続設定を行う
ここでは接続設定を行います。
やること「kintone 接続設定を行う」、条件「実行予定時刻になった時」を用います。
集計するレコードを取得する
ここでは、集計する対象となるレコード(『売上』アプリの全レコード)を取得します。
やること「全レコードを取得する」を用います。
取得したレコード合計値を計算する
次のアクション3のやること「レコード中のフィールド合計値を計算する」でアクション2で取得したレコードを集計するのですが、この時の条件は 条件「レコード全行が準備できた時」 を指定します。
条件「レコード全行が準備できた時」は、パラメーター「レコード取得アクション」に指定したアクション(やること「全レコードを取得する」などの、レコードを取得する「やること」が指定されたアクション番号を指定します)で取得したレコードが全て取得完了し、カスタマイズで使用可能な状態になったときに発生します。
そのため、条件「レコード全行が準備できた時」が指定されたアクション3のやること「レコード中のフィールド合計値を計算する」では、アクション2で取得した全レコードを使って処理できます。ですので、アクション2で取得した全レコードの合計金額を集計できます。
もしこのとき、誤って 条件「レコード1行が準備できた時」を指定してしまうと、アクション3では取得したレコードの中から1レコードしか扱う事ができないため、合計金額は1レコード分の金額になってしまいます。
誤った条件の例:
なお、このカスタマイズ例では集計した結果をレコードに反映する処理は、この記事では省略しています。
具体的な集計した結果を kintone のレコードに反映する方法については、次の記事をご覧ください。
Job Runnerで1レコード・全レコードの処理を組み合わせ、月毎の集計を実現する
おわりに
レコードの更新は簡単にできる分、思いもよらない大量のレコードを、意図しない内容で更新したりすることもできてしまうものです。
実際にカスタマイズを作成される際には、Job Runnerテスト実行 を使ってテストするか、テストアプリとテストデータでよくテストを行った上で、実際のアプリ・運用に適用していくことをおすすめします。
ご不明な点がございましたら、チャットでお問い合わせください。