4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ほぼSalesforce !! Qiitan と カレンダーと 3年目のWebエンジニアAdvent Calendar 2022

Day 4

Winter '23 待望のFlow Builderの機能を試してみる ~ In/Not In 演算子編 ~

Last updated at Posted at 2022-12-03

Winter '23のFlow Builder新機能について

  • In/Not In演算子
  • データテーブル

など今回のアップデートでFlow Builder使用者にとって嬉しいアップデートが多かったのではないでしょうか?

その中でも
最も既存のFlow Builderをリファクタリングできる可能性のあるIn/Not In 演算子について試してみます。

この記事で詳しく書かないこと

この機能の利用者がFlowを使ったことがあると思いますので詳しく1から作成手順は書きません。

In/Not In 演算子について

何が変わるのか?

今までは
取得したレコードコレクションに関連するレコードを複数取得しようと思うと

  • レコードコレクションで ループを実行
  • ループの中で関連レコードを取得

というステップになっていました
これは SOQLクエリのガバナ制限を超えてしまうためエラーメールで困った人も多かったのではないでしょうか?

もちろん
カスタムでApexを組めば対応できましたが、公式でサポートされそうな機能ではあったので
保守対象のApexが増やすことなくできるようになったのはやはり嬉しいですね!

アップデート前 アップデート後
スクリーンショット 2022-12-04 4.39.39.png スクリーンショット 2022-12-04 4.39.48.png

サポートされる型

以下の型であればコレクションを そのままIn/Not In演算子で使うことができます。

  • テキスト
  • 数値
  • 日付
  • 日付/時間
  • 通過
  • チェックボックス

サポートされていないもの

レコードコレクションは In/Not In演算子に対応していないため、
レコードを取得し、サポートされている型だけのコレクションに再度入れ直す必要があります。

Winter '23時点ではサポートされていませんが、
今後のアップデートではサポートされる可能性はあります。

  • レコードコレクション

試してみた

やったこと

  • AccountのAccountSourceがWebのものを取得
  • 取得したAccountを元にContactをIn演算子で検索するため
    • テキストのコレクションにAccountのIDを再セット
  • AccountのIDのコレクションでContactを取得

完成形

今回試しに作った検証用のFlowは GitHubに公開しています。

取引先ソースがWebの責任者を取得 - V1.png

どうなったか?

Account Id の コレクション変数 WebAccountIds[0012w000017ipeMAAQ,0012w000017ipeQAAQ])で
ContactのAccountIdを対象に検索!

スクリーンショット 2022-12-04 3.41.49.png

スクリーンショット 2022-12-04 4.42.55.png

次に含まれるで IN
次に含まれないで Not In の挙動になります。

取得した取引先責任者のAccountId項目のコレクション変数ContactsAccountIdList([0012w000017ipeMAAQ,0012w000017ipeMAAQ,0012w000017ipeQAAQ,0012w000017ipeQAAQ)

と比べた際に ContactはAccountに対して多なので複数レコードが取れていますが

[0012w000017ipeMAAQ,0012w000017ipeQAAQ] のみ取れているので

問題なくIN演算子を使うことでループでレコード取得することができました

最後に

In検索されてリファクタリングが捗りますね!
今回のアップデートでリファクタリングだけではなく、
ApexのFlowアクションで外部システムからID等のリストを取得→取得したID等でレコードをIN検索
のような使い方もできるようになるので非常にいいアップデートだったと思います。

データテーブル等のアップデート内容も見ていこうと思います!

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?