関連レコードフィールドにレコードが表示されているかどうかを定期実行タスクで調べて、関連レコードに表示されている件数を結果として保存する方法をご説明します。


Job Runnerを利用する前には、次の記事も併せてご覧ください。

Job Runnerを利用するとき、初めにすること : ジョブへのスロット割り当てについて


アプリの構成

<顧客管理アプリの構成>

関連レコードフィールドには、会社名で紐づいた案件管理アプリのレコードを表示しています。


今回のカスタマイズで、関連レコードに何件表示されているのかをカウントして結果を保存するために、新たに「関連レコード件数(Job Runner)」という数値フィールドを追加しています。


Customineの設定

以下のステップでカスタマイズを作成していきます。

  1. kintone接続設定を行う

  2. 全レコードを取得する

  3. 関連レコードの条件でレコードを取得する

  4. 関連レコードのレコード件数をカウントし、フィールドにセットする

では、詳しく手順を見ていきましょう。


1.kintone接続設定を行う

実行予定時刻になった時」に「kintone接続設定を行う」で、「顧客管理」アプリと「案件管理」アプリに接続できるよう設定を行います。この時それぞれのアプリのAPIトークンには下記の権限を持たせておいてください。

  • 顧客管理アプリ:閲覧、編集権限

  • 案件管理アプリ:閲覧権限



2.全レコードを取得する

「顧客管理」アプリの全レコードに対して関連レコードの件数をカウントしたいので、「全レコードを取得する」を使います。対象を絞りたい場合は「条件を組み立ててレコードを取得する」などの別の、レコード取得をする「やること」をお使いください。



3.関連レコードの条件でレコードを取得する

顧客管理アプリのレコード1つずつに対して「関連レコード一覧の条件でレコードを取得する」を使います。

この時、APIトークンには、アクション1番とアクション2番の両方を指定しておく必要がありますのでご注意ください。


参考:Job Runnerで「関連レコード一覧の条件でレコードを取得する」を使おうとしたら「関連レコード情報がありません」エラーが出るのですが、どうすればいいですか?



4.関連レコードのレコード件数をカウントし、フィールドにセットする

アクション4番で取得したレコード全行に対して、結果のレコード件数をカウントし、フィールドに値をセットします。


このとき、アクション5番の条件は条件「レコード全行が準備できた時」を指定するのがポイントです。なお「レコード全行が準備できた時」は、レコードの取得結果が0件だった時は動作しません。


5.関連レコードが0件だった場合、関連レコード件数に「0」をセットする

アクション4番で取得したレコードが0行だった場合、関連レコード件数に0をセットします。

他のアクションの実行が完了した時」「レコード件数が0件ならば」という条件を指定すると、レコード取得結果が0件という判定が行え、その時だけ処理を動かす事ができます。


アクショングラフ

最終的なカスタマイズのアクショングラフは次のようになります。


まとめ

この設定で、Job Runnerの定期実行タスクを起動すると、その時点の関連レコードの件数をカウントしてセットします。

リアルタイムの件数ではなく、定期実行タスクを起動したときの件数となる点にご注意ください。


またご不明な点がございましたら、チャットサポートまでお気軽にお問い合わせください。