Winter’23リリースノートに記載の「ルックアップフロー画面コンポーネントでの複数のレコードの選択」が気になったので、さっそくフローで実装してみることに。
どういう機能かというと、
画面フローコンポーネントのルックアップで選ぶレコードが2つ以上選択できるよ!という機能。
リリースノートはコチラ
https://help.salesforce.com/s/articleView?id=release-notes.rn_automate_flow_builder_multi_select_lookup_screen_component.htm&type=5&release=240こちらを使って、
複数の取引先に対し一括で商談を作成するという画面フローを作ってみました。
イメージは、同一内容の商談で取引先が違うだけなのに、いちいち一取引先ずつ画面を開いて作成するのが手間だなぁ…という営業さんへ作ってあげたいフロー。
それではやっていきましょう~
▼フロー全体図
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002169-822919431825920000.png)
~手順~
1.
フロー種別:画面フロー
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002207-822919588680306688.png)
2.
要素1:画面要素を追加する
まずは入力画面を構築します。
最低限の情報(今回は商談名、完了予定日、商談フェーズ)の入力項目をセット。
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002260-822919811804696576.png)
そして今回の主役、「ルックアップ」もセット!
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002327-822920095603888128.png)
いつも通りコンポーネントをセットしたら、右側の情報を埋めていきます。
<埋めていく情報と簡単な説明>
■API参照名
>このコンポーネントにつけるAPI名
■オブジェクトAPI参照名
>ルックアップする元(子)となるオブジェクトのAPI名
■項目API参照名
>ルックアップする項目のAPI名
■表示ラベル
>このコンポーネントにつける表示名
■レコードID
>デフォルト値として設定を行いたい場合に値を指定
■レコードIDコレクション
>デフォルト値として複数のID設定を行いたい場合に値を指定
■最大選択数
>何個までルックアップを許可するかの最大値
1:通常のルックアップとして動作
2以上:複数ルックアップとして動作
■必須
>必須項目にするかどうか
ここでルックアップ項目APIにどのように値が保存されるのかを確認してみました!
仮に株式会社AAAA、株式会社BBBB、株式会社CCCCの3社を選択した場合・・・
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002355-822920210330685440.png)
下記のような結果となりました。
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002380-822920316522074112.png)
項目API.recordId:
最初に選択した項目のIDが保存項目API.recordIds:
選択された項目のIDがテキストのコレクションとして保存項目API.recordName:
最初に選択した項目のNameが保存複数ルックアップにしてもID以外は保存してくれない点には注意が必要です!
それでは今回設定した内容はこちら
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002438-822920560655732736.png)
■API参照名
「input_Account」
■オブジェクトAPI参照名
「Opportunity」
■項目API参照名
「AccountId」
■表示ラベル
「取引先」
■最大選択数
「5」
■必須
「True」
※レコードID、レコードIDコレクションは今回不使用
3.
要素2:ループ
今回は複数のレコードを一括作成するためループを使用。
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002474-822920710346248192.png)
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002487-822920763450331136.png)
コレクション変数はinput_Account(先ほどのルックアップコンポーネント)で使用したレコードIDコレクションを使用。
4.
要素3:割り当て(1)
※要素作成時、または作成前にリソース/商談のレコード単一変数(var_Opportunity)を作成しておきます
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002513-822920875866066944.png)
今回の主役「取引先ID」には「ループの現在の項目」をセット。
5.
要素4:割り当て(2)
4で設定したレコード単一変数の値をコレクション変数にセットします。
※こちらも要素作成前or作成時に、リソース/商談のコレクション変数を作成しておきましょう。
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002559-822921065230503936.png)
6.
要素5:作成
さて、いよいよ最後の要素「作成」。
これまでコレクション変数にためておいたレコードたちを一気に更新します。
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002596-822921223095717888.png)
これでフローの構築は完了です。
せっかく作ったフロー、目につきやすいところに配置したい!!
ということで、ホーム画面に設置!
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002679-822921572212805632.png)
Lightningアプリケーションビルダー(編集ページ)からフローコンポーネントを出してみます。
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002708-822921693885370368.png)
では、さっそく使ってみます★
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002737-822921815193030656.png)
ルックアップコンポーネントには1つだけでなく2つ以上のレコードが入力可能に!
各商談共通する値を入力し、次へ。
![](/upload/downLoad?key=asama/forum_496004368315715584/main/1671002859-822922326210252800.png)
見事、ルックアップコンポーネントで選んだ取引先全ての商談レコードが作成されました!
今回は更新の後に画面の要素を挟んでいないためそのままホームページに戻りましたが、ユーザビリティを考慮して作成完了画面を挟むのもアリかもしれません★