はじめに
Salesforceはノーコードでできることがたくさんあります。
今回は標準機能のFlowBuilderを使用してリストビューでチェックのついたレコードのIDを取得してみようと思います。
そもそもFlowBuilderとは
FlowBuilder、通称フローはSalesforceの標準機能です。
詳しくは下記Trailheadを学んでください。
Flow Builder の概要
本題に
標準機能のフローを使用してリストビューでチェックのついたレコードのIDを取得していきます。
ここで注意すべきポイントは2つだけです。
- フロー変数でAPI参照名が
ids
の作成 - リストボタンでフローの呼び出し
1.フローを作成してみよう
フローの左側にあるツールボックスから新規リソースボタンから
下記画像のように値を入力していきます。
ここで注意すべきことはAPI参照名を必ず小文字でids
にしてください。
チェックしたレコードのIDが取得できているか確認のために下記画像のような画面を作成しておきましょう。
フローはFlow_Call_At_Listview
という名前で保存しておきます。
忘れないようにフローの有効化もお願いします。
2.リストビューボタンを作成してみよう
リストビューからフローを呼び出したいオブジェクトでカスタムボタンの作成を行います。
今回は取引先オブジェクトに作成します。
左側のボタン、リンク、およびアクションをクリックし黄色マーカーの新規ボタンまたはリンクをクリックします。
URLは/flow/ + 先ほど作成したフローのAPI参照名
とします。
今回は/flow/Flow_Call_At_Listview
です。
※チェックボックスの表示 (複数レコード選択用)に必ずチェックを入れて保存してください。チェックが外れていた場合レコードIDが取得できません。
リストビューボタンは配置しなければ表示されないのでリストビューボタンレイアウトから配置していきます。
先ほど作成したフロー呼び出しボタンを選択したボタンに移動させます。
取引先のリストビューでIDを取得したいレコードにチェックを付け、作成したフロー呼び出しボタンをクリックします。
するとリストビューで選択した取引先3レコード分のIDがフローに渡せていることが分かります。
リストビューからフローを呼び出して取得できるのはIDだけのため実際に取引先のレコード自体を取得するにはこのIDを使用してレコードを取得する必要があります。
最後に
今回は標準機能のFlowBuilderを使用してリストビューでチェックのついたレコードのIDを取得してみました。
これを使用すれば標準機能だけで削除機能が実装できたり、また少しapexを使用すれば選択したレコードに対して何らかの処理を実装することもできそうなのでできることが膨らみますね!
今回の方法はSalesforceで公式でドキュメント化されているものではないみたいです。昨年ぐらいからちらほら見るようになったものになります。
今更感はありますが、使い方によってはまだまだ使用できそうなのでぜひ使用してみてください!