標準機能で参照項目の積み上げ集計
こんにちは、かなざわです。
Salesforceでサービス(カスタムオブジェクト)を参照する、ステータスが支払い済みの請求情報(カスタムオブジェクト)の数と請求金額の合計がレコードごとに知りたかったので、フローを組みました。
ちなみにレポートで集計するだけなら非常に簡単でサービスの含まれるレポートタイプを選択肢、クロス条件で請求情報の関連する⇒検索条件「ステータス=支払い済み」を追加するだけです。
ただし、今回は請求件数と金額を更に使う必要があり項目サービス内に集計項目を作成しました。
フロー全体の手順
・サービスに集計を格納する項目を追加(請求数/累計請求金額)
・フローを作成
・サービスを参照している請求レコードを取得(フローのレコードを取得)
・取得したレコード数分、繰り返しをする(フローのループ)
・繰り返しの際に1を変数に追加し、請求数を出す(割当の編集)
・繰り返しの際に請求金額を変数にす追加し、累計請求金額を出す(割当の編集)
・計算した請求数と累計金額をサービスオブジェクトの項目に挿入する(レコードの更新)
1.フローの作成
設定⇒フローから「新規フロー」を作成する。
自動起動フローを選択。
2.新規リソースを作成
サービスのカスタムオブジェクトIDを格納する変数を作成する
リソース種別:変数
API参照名:ServiceID
データ型:テキスト
複数の値を許可:FALSE
入力で使用可能:TRUE
取得した請求データを格納する変数を作成
リソース種別:変数
API参照名:BillRecords
データ型:レコード
複数の値を許可:TRUE
オブジェクト:請求情報
3.レコードを取得する
「レコードを取得」を画面に移動する。
入力したIDのサービスオブジェクトが紐付く請求情報のレコードをすべて取得する。支払い済み等の条件を入れる場合もここに入れると、該当のレコードだけを集計してくれる。
請求情報レコードの絞り込みで一致条件は先程作ったServiceIDを選択。その他条件がある場合は追加。
変数に保存する請求情報項目を選択では、集計を行いたい項目を指定する。
ここで選択しないと、集計時に
項目名__c の値が設定されていないか、割り当てられていないため、フローでこの値にアクセスできませんでした。
というエラーが出てフローが実行されない。
4.ループを追加する
要素から「ループ」を追加します。取得した請求情報の件数分ループさせ、件数と累計売上を集計します。
ループ変数:targetbill は新しく作成します。
5.割り当てを追加する
要素から「割り当て」を追加します。
集計した数を格納する変数は新たに追加します。
レコードの件数を集計する場合は1を追加、
値の集計をする場合はTargetbill(スクショは誤字です)を選択すると、そのオブジェクトの項目が選べるので、それを選択します。
ループとつなぎます。
6.レコードを更新します
要素から「レコードを更新」を追加します。
IDが一致するレコードを絞り込み、サービスオブジェクトの請求数の項目に上のループで設定した変数が反映されるようにします。
7.フローを配布する
今回はプロセスビルダーで請求情報が更新されたら、このフローが動作して集計を行うようにしました。
フロー変数で請求情報が紐づく、サービスオブジェクトIDを参照するようにします。
カスタムボタンを押したら集計するとかもできそうです。
この記事が気に入ったらサポートをしてみませんか?