フロー演算子「最初を削除」でコレクション変数の中身をユニークに!

フロー演算子「最初を削除」でコレクション変数の中身をユニークに!

フロー演算子「最初を削除」を使って、コレクション変数の中身をユニークにする方法をご紹介します。
フロー演算子「最初を削除」でコレクション変数の中身をユニークに!
62
フロー演算子「最初を削除」でコレクション変数の中身をユニークに!
nagamin
2023/12/26 09:14:14
何でもできるはず!と 日々フローと格闘しています。
今回は、割り当て要素のフロー演算子を使って、コレクション変数の重複削除に成功したので共有します。


■実現したいこと

画面フローを使って、親レコードに紐づく 子レコードの所有者宛にメールを送信したい。

~課題~
子レコードの所有者は重複もありうるが、一人につき1通のみ
 

(例)Aさん、Bさん、Cさんに1通ずつメールを送信したい!
単純に子レコードの所有者をコレクションすると、Bさんに2通メールを送信してしまいます。コレクション変数の中身をユニークにできないかな。。。


■実装内容

Point!割り当て要素のフロー演算子:最初を削除

こちらが、今回サンプルで作成したフローの全体像です。
※1回のメールを送信するアクションでは、受信者が5人以下に限られているため、実際に設定される際はご注意ください。(実装時には、コレクションしたメールアドレスをループして、ループ内でメールを送信しました。)


(下図)①で取得されたレコードコレクション変数を②でループ
メールアドレスをコレクションするための 変数:varEmailを用意します
。 
③の設定
前に同じ値があれば一旦削除して、値を追加しています。
 ・varEmail 「最初を削除」 loopの現在の項目>所有者>メールアドレス
 ・varEmail 「追加」 loopの現在の項目>所有者>メールアドレス
 



[コレクション変数の様子]
 ユニークなコレクション変数の取得に成功しました♪



(参考)Salesforceヘルプ 割り当て要素のフロー演算子
最初を削除[値] の最初のインスタンスが [変数] のコレクションから削除されます。

同じデータ型またはオブジェクト型のコレクション

テキストコレクションの場合のみ:

  • 複数選択リスト
  • 選択リスト
  • $Flow.CurrentRecord
この不可解な名前の演算子は何だろう、、、と思って調べていたところ辿り着きました。「すべて削除」でも対応できそうですね。
お役に立てれば幸いです!


※追記
実装時には、上の例でいうと4回目終了時に削除した部分にカンマ(,)が残り、後続の処理でエラーがでてしまったので
要素:コレクション検索条件 を使ってnull以外に絞り込んで設定を行いました。この記事を書くにあたり、検証したところ現在は不要のようです。。。
 

gilde tech(for Salesforce)」に入会しませんか?
登録すると、「gilde tech」に掲載されているSalesforceのノウハウを全部閲覧できるだけでなく、自分が知っている知識を発信し、他の会員と交流することもできます。
またSalesforceの知識習得に役立つイベント情報も得ることができます。
是非ここで得た知識を業務に活かしてください!
62
コメント