LoginSignup
2
0

【Salesforce】リストビューを活用し、一括コピーができるフローの作成方法

Posted at

※もし間違いがあれば、お手数おかけしますがご指摘いただけましたら幸いです。すぐ修正致します。

idsとループ処理の掛け合わせ

主な処理の流れは下記になります

①リストビューで選択されたレコードを、idsでフローに呼び起こす
②ループ処理で、idsにあるidを呼び起こし、コピーしていく

作り方

作り方の主な流れです
①フローを作成する(ウェイト重め)
②オブジェクトにカスタムボタンを作成し、フローを割り当てる(ウェイト軽め)

①フローを作成する

フローを作成していきます。こちらの画面キャプチャが概要になります。

コメント 2023-07-27 161108.png

フロー作成の流れとして、
①idsでリストビューにてチェックされたレコードを呼び起こす
②決定木で、0件、101件以上、1~100件に振り分ける
③ループ処理で、idsに格納されたレコードを一件ずつ呼び起こす
④一件ずつ、レコードをコピーしていく
になります。

idsでリストビューにてチェックされたレコードを呼び起こす

画面フローで作成を行っていきます。

API参照名「ids」となっているリソースを作成します。
※idsには、ID情報のみ格納されています。
コメント 2023-07-27 162037.png
API参照名を「ids」とすることで、リストビューにてチェックされたレコードを呼び起こすことができます。

続いて、idsで受け取ったレコードの数をカウントし、格納する要素を作成します。
コメント 2023-07-27 162201.png
ここで新規に「Count」リソースを作成してください。
image.png
API参照名を「Count」とすることで、レコード件数をカウントすることができます。

決定木で、0件、101件以上、1~100件に振り分ける

決定木を作成します。各決定分岐を、下記画面キャプチャ通り作成してください。
コメント 2023-07-27 162418.png
コメント 2023-07-27 162527.png
コメント 2023-07-27 162547.png

次に、0件、101件以上、1~100件だった場合の画面を作成します。
0件だった場合↓
コメント 2023-07-27 162708.png

101件以上だった場合↓
コメント 2023-07-27 162800.png

1~100件だった場合↓
コメント 2023-07-27 163007.png
コンポーネントより、「テキスト」を画面に挿入し、商談名を一律にできるようにします。
例:2023年3Q価格改定商談 など
コメント 2023-07-27 163025.png

ループ処理で、idsに格納されたレコードを一件ずつ呼び起こす

ループ処理で、idsを呼び起こします。
コメント 2023-07-27 163223.png

続いて、要素「レコードの取得」にて、idsに格納されている個別のID情報を、商談オブジェクトにて検索をかけ、レコード情報をすべて取得します。
コメント 2023-07-27 163337.png

次に、「レコードの取得」にて得たレコード情報をもとに、レコードを作成していきます。
要素「レコードの作成」を用意し、下記画面キャプチャ通りに設定していきます。

ここで商談名に、先ほどの画面キャプチャにて入力された商談名を割り当てていきます。
項目値の設定も設定していけるので、任意で自由に設定してください。
コメント 2023-07-27 163653.png

コピー完了の通知をする画面を作成します。
コメント 2023-07-27 165719.png

最後に、フローを保存し、有効化します。
コメント 2023-07-27 165831.png

②オブジェクトにカスタムボタンを作成し、フローを割り当てる

商談オブジェクトの設定画面に遷移し、「ボタン、リンク、およびアクション」から「新規ボタンまたはリンク」を作成します。
コメント 2023-07-27 170123.png

カスタムボタンは下記画面キャプチャの通り設定していきます。
画面フローの呼び起こしは、
/flow/(フローのAPI参照名)
と入力します。作成できたら保存します。
コメント 2023-07-27 170448.png

続いて、リストビュー上にカスタムボタンとして表示させます。
商談オブジェクトの設定画面から、「リストビューボタンレイアウト」を開き、使用しているリストビューの編集画面に遷移します。
コメント 2023-07-27 170606.png
ここに、先ほど作成したカスタムボタン「一括コピー」を追加してください。最後に保存します。
コメント 2023-07-27 170721.png

# 挙動の確認
商談オブジェクトにて、実際にコピーしてみます。
コメント 2023-07-27 170956.png

まずは適当に何件か選択します。
※ここでリストビューにてレコードタイプを一つに絞らないと、コピーができないので、一つに絞る必要があります。
コメント 2023-07-27 171054.png

次に、「一括コピー」をクリックします。商談名も適当に入力します。
コメント 2023-07-27 171159.png

コピーできました。
コメント 2023-07-27 171723.png

まとめ&参考したサイト

一括コピーに関してはまだまだ改善点あると思います。
・誤って複数レコードタイプを選択してしまったりしたときのパス
・コピー完了したレコードを一括コピーの画面フローの最後に表示させる
・商談名を「(元の商談名)のコピー」などと制御する
など・・・

ひとまず、こちら一括コピーの草案として提示します。
ご参考になれば幸いです。

リストビューで選択したレコードをidsで呼び起こし、またSOQLの問題は、こちらの記事を参考にしました。

2
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
2
0