この記事ではSalesforceの画面フローに、ルックアップコンポーネント、つまり参照項目を配置する方法を解説します。
画面フローにおけるルックアップとは
ルックアップコンポーネントとは、通常のレコード編集ページでもよく使用されるデータ型である「参照項目」を画面フロー上で使用できるようにする機能です。
通常の参照項目と同じように、検索窓をクリックして参照先を選択することが出来ます。
ここで入力した参照先レコードは、下図のように画面フローの更新要素や作成要素上で使用することが可能です。
画面フローのルックアップは使用頻度が高いですが、シンプルに参照したいオブジェクトを選択すればよいだけ、というわけではないので、初見だと扱いがよくわからないです。以下に詳しい設定方法を解説していきます。
画面フローのルックアップを設定する方法
ツールボックスから画面要素を選択します。
画面要素が開いたら、左側メニューからフロー画面にルックアップコンポーネントをドラッグ&ドロップします。
すると、右側にルックアップの制御項目が表示されます。ここを設定していくことで、画面フローでルックアップを使用できるようになります。
ルックアップコンポーネントの制御項目の使い方
API参照名
現在設定中のルックアップ項目の画面フロー内でのAPI参照名を入力します。任意の値でOKです。
オブジェクト API 参照名
実際の環境で参照項⽬が設置されている側のオブジェクトのAPI参照名を入力します。カスタムオブジェクトの場合は「__c」まで必要です。
ここで補足を入れますが、画面フローのルックアップは、取引先を参照したいから「Account」を入力すればいいというわけではありません。
画面フローのルックアップでは実際の環境で設定済みの参照項目を踏襲して使用しているのです。
例えば画面フロー上で取引先を選択させたいならば、商談に設置されている取引先参照項目を使用する必要があります。BオブジェクトからAオブジェクトへの参照が実際の環境では存在しないのに、画面フロー上でのみリレーションを作ることは出来ません。
また、リレーションがあって取引先さえ選択させることが出来るならば何でもいいというわけではありません。
例えば、Aオブジェクトを参照しているB、C、Dオブジェクトがあるとします。それぞれの参照項目で、もしルックアップ検索条件を設定しているとしたら、それも画面フローのルックアップに踏襲されます。
ここまででわかるように、画面フローのルックアップ項目は、実際の環境の参照項目(というかリレーション)を借りてきて使用していると考えるとよいでしょう。
項目 API 参照名
参照項目自体のAPI参照名を入力します。カスタムの場合は「__c」まで必要です。
考え方は先ほどの「オブジェクト API 参照名」と同じです。例えば取引先を入力させたいならば商談オブジェクトの「取引先名」項目、API参照名でいうとAccountIdを入力する、ということになります。
表示ラベル
フロー上での表⽰ラベルを⾃由に⼊⼒します。以下のように対応しています。
その他任意設定の項目
任意設定の項目はまとめて紹介します。
- レコード ID:デフォルトのレコードを入れておきたい場合はレコードのSFIDを入力しておきます。
- レコード ID コレクション:上記のコレクションバージョンです。
- 最大選択数:通常の参照項目とは違い、画面フローではルックアップから複数レコード選択できます。デフォルトは1個になっています。
- 必須:必須の要否を選択します。必須の場合は{!$GlobalConstant.True}を選択します。
レコードIDに変数を入れて再利用できるようにする
レコードIDには、直接「0012w00001MX2wyAAD」のようなSFIDを直打ちしたり、数式を入れておいて、動的にデフォルト値を設定しておくことが可能です。
もう一つの用途として、入力した内容を保存しておくという使い方が出来ます。
下図の左側が、変数の設定をしていない場合、右側が設定している場合です。変数の設定が無い場合、2画面目に移ってから戻った際に、1画面目の入力内容が消えています。変数の設定がある場合、2画面目⇒1画面目に戻っても、入力内容が保持されていることがわかります。
この設定のやり方は以下の通りです。
「レコードID」を選択するとボックスが開きますので、「+新規リソース」を押します。
下図のボックスが開きますので、変数を選択します。
画面の表示が変わり、以下のようになります。API参照名は適宜入力し、データ型はテキストを選択します。最後に完了を押します。
デバッグしてみると、変数を入れたからといって何かがデフォルトで選ばれていることはありません。そしてこのあと2画面目に行ってから戻った際にも1画面目に最初に入力した値が保持されていることが確認できました。
まとめ
本記事では画面フローのルックアップの基本と、具体的な設定方法を紹介しました。画面フローにおけるルックアップは実際の環境の参照項目を借りてきて使用している、という点が設定の際のポイントになります。