Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

フローで複数選択リストの値をコレクション変数に割り当てる方法

公開日: Jan 14, 2026
説明

フローにおいて、複数選択リストで選択された値をコレクション変数に変換し、それらの値を用いて特定のアクションを実行したいシナリオについて解説します。

 

例として、Contact (取引先責任者) オブジェクトに関連する "Skills" (スキル) カスタムオブジェクトがあり、取引先責任者レコードを表示する複数選択リストからユーザーが選択した値を使用して、複数の取引先責任者レコードに選択した値の "Skills" (スキル) レコードを作成するフローを想定して作成します。

解決策

画面フローにて、画面要素(API参照名:Screen)を配置し「複数選択リスト」コンポーネント(API参照名:Skills)を配置して、取引先責任者レコードに関連して作成する必要があるスキルをユーザーが選択できる画面が設定されていると仮定します。

 

 

■ステップ 1: 新規変数 "SelectedSkillValues" を作成する

a.) リソース種別: 変数
b.) データ型: テキスト
 

ステップ 2: 割り当て要素 [ 選択された値を SelectedSkillValues に代入する ] を設定する 

a.) (+) をクリックして割り当て要素を追加します。 
b.) [変数値を設定] にて、以下のように設定します。

・変数: {!SelectedSkillValues}
・演算子: 次の文字列と一致する
・値: [Screen] > [Skills] の順にクリック

 

・変数: {!SelectedSkillValues}
・演算子: 追加
・値: ;

注意: ";" は最初の値の検出に使用されるため、文字列の最後に ";" を追加して、最後の値も問題なく取得できるようにします。

 

ステップ 3: 決定要素 [ SelectedSkillValues が空白かどうか判断する ] を設定する 

a.) (+) をクリックして決定要素を追加します。 
b.) [結果の詳細] にて、以下のように設定します。

 

・リソース: {!SelectedSkillValues}
・演算子: null
・値: {!$GlobalConstant.True}

 

ステップ 4: 新規数式リソース "SingleSkillFormula" を作成する

a.) リソース種別: 数式
b.) データ型: テキスト
c.) 数式: ";" で終わる最初の値を選択する下記の数式を入力します。
TRIM( SUBSTITUTE( LEFT( {!SelectedSkillValues} , FIND(";", {!SelectedSkillValues} )), ";", ""))


ステップ 5: 新規変数 "SingleSkillValue" を作成する

a.) リソース種別: 変数
b.) データ型: テキスト
 

ステップ 6: 新規コレクション変数 "SkillCollection" を作成する

a.) リソース種別: 変数
b.) データ型: テキスト
c.) 複数の値を許可 (コレクション): チェック
 

ステップ 7: 割り当て要素最初の単一値をリストに追加する ] を追加する

a.) (+) をクリックして割り当て要素を追加します。 
 注意: [Blank] の分岐はコレクション変数に値が入力し終わった後の処理を設定する先となりますため、[デフォルトの結果] の分岐先に追加します。
b.) [変数値を設定] にて、以下のように設定します。
 

・変数: {!SingleSkillValue}
・演算子: 次の文字列と一致する
・値: {!SingleSkillFormula}

 

・変数: {!SkillCollection}
・演算子: 追加
・値: {!SingleSkillValue}

 

ステップ 8: 新規数式リソース "UpdateSelectedSkillValues" を作成する

a.) リソース種別: 数式
b.) データ型: テキスト
c.) 数式最初の単一値はリスト (SkillCollection) に追加済みのため、選択したスキル値から最初の単一値を削除する下記の数式を入力します。
MID({!SelectedSkillValues},FIND(";", {!SelectedSkillValues})+1,LEN({!SelectedSkillValues})- LEN(LEFT({!SelectedSkillValues}, FIND(";",{!SelectedSkillValues})))+1)

注意: 上記の式 "UpdatedSelectedSkillValues" は "SelectedSkillValues" の更新されたデータを返すだけですが、"SelectedSkillValues" にまだ保存されていないため、"SelectedSkillValues" を保存する割り当て要素を追加します。

ステップ 9: 割り当て要素 [ SelectedSkillValue をリセットする ] を追加する

a.) (+) をクリックして割り当て要素を追加します。 
b.) [変数値を設定] にて、以下のように設定します。

・変数: {!SelectedSkillValues}
・演算子: 次の文字列と一致する
・値: {!UpdateSelectedSkillValues}

 

ここまでのフローは、コレクション変数 (SkillCollection) に最初の値を追加し、リストへの追加後、選択したスキル値 (SelectedSkillValues) から最初の値を削除するように設定されています。これにより、選択したスキル値変数の 2 番目の値が最初の値になります。ここで、このプロセスを繰り返し実行し、2 番目、3 番目、4 番目の値を最初の値と同じように処理し、最終的にはすべての選択された値を処理するために何らかのループが必要です。


ステップ 10: 割り当て要素 [ SelectedSkillValue をリセットするの下の (+) をクリックして [要素に接続] をクリックし、決定要素 [ SelectedSkillValues が空白かどうか判断する ] を選択する


以上で終了です。全体のフローは次のようになります。

ステップ 10: の設定により決定要素はループのように動作し、"SelectedSkillValues" 変数が空になるまで、選択された値をコレクションに追加し続けます。

 

上記設定後、[Blank] の分岐先にてコレクション "SkillCollection" をループすることで、取引先責任者に関連するスキルレコードを作成することができます。

 

ナレッジ記事番号

004221000

 
読み込み中
Salesforce Help | Article