「
実験:フローで取引先を【関連情報と共にコピー】してみた」の記事で省略した、取引先責任者をコピーする場合の設定をまとめました。
フロー完成図のうち、⑩~⑮の部分になります。
基本的に、商談のコピーの設定(④~⑨)と変わりません。同じように元の取引先に紐づく取引先責任者の情報を取得し、値を割り当て、コピーレコードを作成します。
⑩決定:取引先責任者コピーの決定
「+」をクリックし、「決定」を追加します。
次のように設定します。
表示ラベル:取引先責任者コピーの決定
API参照名:DesicionCopyContact
結果 1つめ結果の詳細:はい
結果のAPI参照名:Yes01
結果を実行する条件の要件:すべての条件に一致(AND)
リソース:SelectRecord|
演算子:次の文字列と一致する|
値:Contact
結果2つめ結果の詳細:いいえ
デフォルトの結果の表示ラベルを「いいえ」に変更します。
設定を終えたら、【完了】をクリックします。
⑪レコードを取得:関連する取引先責任者レコードを取得
「+」をクリックし、「レコードを取得」を追加します。
次のように設定します。
表示ラベル:関連する取引先責任者レコードを取得
API参照名:GetRelatedContacts
このオブジェクトのレコードを取得:取引先責任者
商談レコードを絞り込み:
条件の概要:すべての条件に一致(AND)
項目の値:AccountId(取引先ID)|演算子:次の文字列と一致する|値:OriginalAccountId
取引先責任者レコードを並び替え:並び替えなし
保存するレコード数:すべてのレコード
レコードデータの保存方法:すべての項目を自動的に保存
最後に【完了】をクリックします。
⑫ループ:取引先責任者をループ
「+」をクリックし、「ループ」を追加します。
次のように設定します。
表示ラベル:取引先責任者をループ
API参照名:LoopContacts
コレクション変数を選択:{!GetRelatedContacts}
*先ほど取得した取引先責任者コレクションを選択します。
コレクションを反復処理するための方向を指定します。:最初の項目から最後の項目へ
最後に【完了】をクリックします。
⑬割り当て:取引先責任者に値を割り当て
「項目ごと」の下の「+」をクリックし、「割り当て」を追加します。
次のように設定します。
表示ラベル:取引先責任者に値を割り当て
API参照名:AssignContactValue
変数値を設定:
⑬-1.では、取引先責任者をループして取得した取引先責任者レコードの取引先IDを、③で新しく作成された取引先レコードのIDに置き換えます。
変数:{!LoopContacts.AccountId}(ループ Contacts の現在の項目 >取引先ID)
演算子:次の文字列と一致する
値:recordId >Id(取引先ID)
-------------------------------------------
recordIdのデータは更新されるrecordIdの値は、フロー内で作成されたレコードの値に置き換えられます。ここでは、新しく作成された取引先レコードの情報になっています。
-------------------------------------------
⑬-2.では、取引先責任者をループして取得した取引先責任者レコードの名(FirstName)に「コピー」を追加します。
変数:{!LoopContacts.FirstName}(ループ Contacts の現在の項目 >名)
演算子:追加
値:コピー *「コピー」と入力します。
最後に【完了】をクリックします。
⑭割り当て:取引先責任者コレクションに値を割り当て
「+」をクリックし、「割り当て」を追加します。
⑬で各取引先責任者レコードの項目に値を割り当てたものを、レコード作成用のコレクション変数に割り当てます。
次のように設定します。
表示ラベル:取引先責任者コレクションに値を割り当て
API参照名:AssignContactCollection
変数値を設定:
新しく変数「NewOpportunityCollection」を作成します。
「+新規リソース」をクリックしてリソース種別で変数を選択し、次の内容で変数を作成します。
API参照名:NewContactCollection
データ型:レコード
複数の値を許可(コレクション):✓チェックする
オブジェクト:取引先責任者
フロー外部での可用性:チェックなし
「割り当て」の編集画面に戻り、次のように割り当ての設定を行います。
変数:NewContactCollection
演算子:追加
値:{!LoopContacts}(ループ LoopContacts の現在の項目)
【完了】をクリックします。
⑮レコードを作成:取引先責任者レコードのコピーを作成
「最後の項目の後」の「+」をクリックし、「レコードを作成」を追加します。
次のように設定します。
表示ラベル:取引先責任者レコードのコピーを作成
API参照名:CreateContactCopy
作成するレコード数:複数
値を選択して複数のレコードを作成:NewContactCollection
【完了】をクリックします。
これで、フローでの取引先責任者のコピーの部分は設定完了です。
続きは「
実験:フローで取引先を【関連情報と共にコピー】してみた」をご確認ください。
たくさんフローを作って練習しましょう
各要素や変数の扱いを学ぶためには、やはり経験を積むのが一番です。まずは、同じ内容のフローを沢山作って、特定のパターンのフローを一人で完成させられるようにしましょう。何も参照せずにフローを作成できるようになったら、少しずつ内容を変えていき、様々なパターンに対応できるようにしましょう。
今回のフローは、「
実験:フローで取引先を【関連情報と共にコピー】してみた」でも書いたように、実践の場で使う機会はあまりないかもしれませんが、お馴染みの標準オブジェクトである取引先、取引先責任者、商談を使って、関連するレコードの取得と、値の割り当て、レコードの作成を学ぶことができるので、練習の例として取り上げました。
初心者の皆さんは、変数「recordId」を覚えましょう
このフローの肝となるのは、レコード変数「recordId」です。以前はテキスト型で作成するのが一般的でしたが、数年前のリリースでレコード型でも機能するようになりました。画面フローでは大変お世話になる変数ですので、仲良くしておきましょう。
◇ SALESFORCE ヘルプ >ドキュメント >SALESFORCE SUMMER '20 リリースノート >Lightning ページまたはクイックアクションからフローを起動するときにレコードを渡すループについて
今回、関連レコードの値を編集してコピーを作成するためにループを使用しましたが、「
ワークフローとプロセスビルダーのリタイア(廃止):2022年6月の最新情報」で確認したように、フローで「ループを使わずに関連レコードを更新」が可能となるような情報もありますので、ループもまた変更があるかもしれません。開発のバックグラウンドがないと、なかなか理解が難しい「ループ」ですが、よりわかりやすくなることを願います。
関連記事
実験:フローで取引先を【関連情報と共にコピー】してみたLEXで行動の被招集者へメール通知を送信するレコードのファイルを自動で削除するフローSpring’22で承認プロセスの結果からフローがトリガできるようになる様子フローで積み上げ集計(その1)フローで積み上げ集計(その2)毎月N日に起動させるフローリストビューで選択したレコードを一括削除してみるワークフローのFlow移行ツール:Migration to Flow(Beta)を試してみましたワークフローとプロセスビルダーのリタイア(廃止):2022年6月の最新情報