今回は新しくレコードを作ったとき、もしくは修正保存したときに各レコードのテーブルを種類ごとに集計して別アプリの各レコードに登録する方法を、次の2つのアプリ(日報アプリと案件工数アプリ)を例にご紹介します!



日報アプリには、その日関わった案件ごとに使った工数が入力されており、案件工数アプリ内の合計工数は、その案件に使った工数の合計が日報アプリから算出され更新される、という構造を想定しています。


アプリ構成

次のアプリを作成します。なおアプリには、次のフィールドを設定してください。

※フィールド名とフィールドコードは同じものを指定します


日報アプリ

フィールド

フィールド名

フィールド種別

備考

報告者

ユーザー選択


報告日

日付


工数リスト※

テーブル



※工数リストテーブル内のフィールド

フィールド名

フィールド種別

備考

案件コード

ルックアップ

案件工数アプリから取得

案件名

文字列(1行)

案件工数アプリから取得

工数

数値

なし


案件工数アプリ

フィールド名

フィールド種別

備考

案件コード

文字列(1行)


案件名

文字列(1行)


合計工数

数値

集計結果を入れる


実行イメージ


日報アプリのレコードを保存すると、そのレコード内の工数リストテーブルの案件コードで再集計して、案件工数アプリの合計工数を更新します。


たとえば、こちらのレコードを保存したときには、案件コード「00001」と「00003」が含まれたレコードについて再集計する動きになります。


日報アプリ保存前

日報アプリ保存後


カスタマイズ例と解説

起点となるレコード取得


保存が確定した後で集計をしたいので、「レコードを保存した直後(削除後は除く)」に「テーブル行をレコードとして取得する」とします。


その後、アクション2番で「リストから要素を取り出す」を使い、取得したテーブル行を1行ずつ処理していきます。

案件コード毎の合計値計算、反映


ここからは、リストから取り出した結果を使って処理をしていきます。


アクション3番で、案件コードをキーに日報アプリのレコードを取得し、再集計の対象となるレコードを取得します。

アクション4番では「他のレコード内のテーブルをレコードとして取得する」で、再集計対象のレコード全てのテーブル行を結合して取得します。


アクション5番では「レコード内の条件に合う行のフィールド合計値を計算する」を用いて、アクション4番で取得した結果を対象に「案件コード」が等しい行の「工数」の合計値を計算します。


アクション6番で、集計した結果を案件管理アプリの「合計工数」にマッピングし、「案件コード」をキーにレコード更新します。


アクショングラフ

このように、アクショングラフを確認した時に矢印が輪を描き、矢印がぐるっと回り込むグラフになるように設定してくださいね!





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

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