今回作ったフローの概要
・レコードトリガーフローで
・子レコードが全件削除されたら
・親レコードの項目の値を更新する
前提
※作り方だけ知りたい、という方は前提を読み飛ばしていただき「フローの詳細」へどうぞ。
今回のフローは、以下のフローの続きともいえます。
上記で「A: 連結レコード作成編集時のフロー」を作成したのですが、こちらが完成した後に
「連結レコードが1つ以上作成されたら、そのことが分かるような項目を売上管理に持たせたい」
という要望をいただきました。
「その項目を使って、連結レコードが1つも紐づいていない売上管理を一覧にして担当者にリマインドしたいから」という理由でした。
なので売上管理オブジェクトにチェックボックスを作成して、連結レコード作成時にチェックを入れる更新要素を「A: 連結レコード作成編集時のフロー」に追加しました。
かくして、連結レコード作成時に、売上管理のチェックボックスにチェックが入るようになりました。
しかし連結レコードは削除される場合もあります。
連結レコードが全件削除された時はチェックを外さないといけないため
本フローを作ることになった、という次第です。
フローの詳細
①開始条件
②関係する連結レコードを全件取得
③ ②のレコード数を数える
④ ③から今回の削除レコード数1を減算する
⑤条件分岐
⑥(④が0の場合)チェックボックスをFalseにする
⑦(④が1以上の場合)チェックボックスをTrueにする
全体像はこちら。
①開始条件
②関係する連結レコードを全件取得
削除された連結レコードと同じ親レコード(=売上管理)を持つ連結レコードを、全件取得します。(ややこしいですね)
③ ②のレコード数を数える
レコードコレクション変数に入っているレコードの数をループさせて1を加算していくと、レコードコレクション変数に入っているレコード数が分かります。
ちなみに変数LinkedRecordsNumの中身はこんなかんじです。
④ ③から今回の削除レコード数1を減算する
レコードコレクション変数には、今回削除したレコードも含まれています。
なのでここで、削除レコード分を-1します。
⑤条件分岐
⑥(④が0の場合)チェックボックスをFalseにする
⑦(④が1以上の場合)チェックボックスをTrueにする
正直、この要素はなくても大丈夫だと思います。
が、チェックボックスの値の正確性を担保するために加えてみました。
ここまで読んだけど、よく分からない😭という方へ
ここまで読んでいただき、ありがとうございます。
最善を尽くして記事を書いていますが、
私の説明力不足ゆえに分かりづらい点があることをご容赦ください。
・ブログの内容について直接質問したい
・その他、Salesforceについて質問や相談をしたい
という方向けに、オンラインで直接質問していただけるサービスをご用意しています。
「こんなことを質問したいけど、対応可能?」というご相談はもちろん無料で受け付けております。
上記リンクからお気軽にどうぞ💁♀️