標準機能で参照項目の積み上げ集計

こんにちは、かなざわです。
Salesforceでサービス(カスタムオブジェクト)を参照する、ステータスが支払い済みの請求情報(カスタムオブジェクト)の数と請求金額の合計がレコードごとに知りたかったので、フローを組みました。

ちなみにレポートで集計するだけなら非常に簡単でサービスの含まれるレポートタイプを選択肢、クロス条件で請求情報の関連する⇒検索条件「ステータス=支払い済み」を追加するだけです。

ただし、今回は請求件数と金額を更に使う必要があり項目サービス内に集計項目を作成しました。

フロー全体の手順
・サービスに集計を格納する項目を追加(請求数/累計請求金額)
・フローを作成
・サービスを参照している請求レコードを取得(フローのレコードを取得)
・取得したレコード数分、繰り返しをする(フローのループ)
・繰り返しの際に1を変数に追加し、請求数を出す(割当の編集)
・繰り返しの際に請求金額を変数にす追加し、累計請求金額を出す(割当の編集)
・計算した請求数と累計金額をサービスオブジェクトの項目に挿入する(レコードの更新)

カウント完成図

1.フローの作成

設定⇒フローから「新規フロー」を作成する。
自動起動フローを選択。

2.新規リソースを作成

サービスのカスタムオブジェクトIDを格納する変数を作成する

リソース種別:変数
API参照名:ServiceID
データ型:テキスト
複数の値を許可:FALSE
入力で使用可能:TRUE

取得した請求データを格納する変数を作成

リソース種別:変数
API参照名:BillRecords
データ型:レコード
複数の値を許可:TRUE
オブジェクト:請求情報

3.レコードを取得する

「レコードを取得」を画面に移動する。
入力したIDのサービスオブジェクトが紐付く請求情報のレコードをすべて取得する。支払い済み等の条件を入れる場合もここに入れると、該当のレコードだけを集計してくれる。

請求情報レコードの絞り込みで一致条件は先程作ったServiceIDを選択。その他条件がある場合は追加。

変数に保存する請求情報項目を選択では、集計を行いたい項目を指定する。
ここで選択しないと、集計時に

項目名__c の値が設定されていないか、割り当てられていないため、フローでこの値にアクセスできませんでした。

というエラーが出てフローが実行されない。

レコード取得1

レコード取得2

4.ループを追加する

要素から「ループ」を追加します。取得した請求情報の件数分ループさせ、件数と累計売上を集計します。

ループ変数:targetbill は新しく作成します。

ループ

5.割り当てを追加する

要素から「割り当て」を追加します。
集計した数を格納する変数は新たに追加します。

レコードの件数を集計する場合は1を追加、
値の集計をする場合はTargetbill(スクショは誤字です)を選択すると、そのオブジェクトの項目が選べるので、それを選択します。

割り当て2

割当

ループとつなぎます。

6.レコードを更新します

要素から「レコードを更新」を追加します。

IDが一致するレコードを絞り込み、サービスオブジェクトの請求数の項目に上のループで設定した変数が反映されるようにします。

レコード更新

レコード更新2

7.フローを配布する

今回はプロセスビルダーで請求情報が更新されたら、このフローが動作して集計を行うようにしました。

フロー変数で請求情報が紐づく、サービスオブジェクトIDを参照するようにします。

プロセスビルダー

カスタムボタンを押したら集計するとかもできそうです。

この記事が気に入ったらサポートをしてみませんか?