商品検出の上書きフロー
[商品を検出] フローを使用してカタログを選択し、カタログから商品を関連付けられたレコードページに追加します。[商品を検出] フローは商品検出ですぐに使用でき、使用可能な機能以外にもビジネスニーズに合わせてフローをカスタマイズできます。
必要なエディション
| サポートされている製品とエディションを表示します。 |
| 必要なユーザー権限 | |
|---|---|
| Flow Builder でフローを開く、編集または作成する | 「フローの管理」 |
コンテキストデータ入力レコードを作成する Apex クラスの作成
このフローでは、オブジェクト API 参照名とレコード ID を含む ContextDataInput レコードのリストを作成する Apex クラスを使用します。次に、追加のコンテキストデータを含むリストを商品リストページコンテナコンポーネントに渡します。このコンポーネントには商品が表示され、追加のコンテキストデータ、コンテキスト定義、適格性ルール手順、適格性ルールを使用して商品の対象資格が判断されます。
オブジェクトの API 参照名とレコード ID を入力として受け取り、ContextDataInput レコードのリストを出力として返す Apex クラスを作成します。
- [設定] から、[クイック検索] ボックスに「Apex クラス」と入力し、選択します。
- [新規] をクリックします。
-
エディターで、レコードの追加のコンテキストデータを作成するコードをカスタマイズして貼り付けます。
public class DiscoverProductFlowAction { // Define input parameters public class FlowInput { @InvocableVariable(required=false) public String objectApiName; @InvocableVariable(required=false) public String recordId; } // Define output parameters public class FlowOutput { @InvocableVariable public runtime_industries_cpq.ContextDataInput[] additionalContextData; } // This method is invoked from a flow @InvocableMethod(label='Process Input' description='Creates the Array of ContextDataInput for additional Context Data') public static List<FlowOutput> generateAdditionalContextData(List<FlowInput> inputs) { String apiName; String recId; FlowOutput output = new FlowOutput(); // Capture input from the flow for(FlowInput input : inputs ){ apiName = input.objectApiName; recId = input.recordId; } //Populate the ContextDataInput list to store additional context data List<runtime_industries_cpq.ContextDataInput> listContextData = new List<runtime_industries_cpq.ContextDataInput>(); runtime_industries_cpq.ContextDataInput cd1 = new runtime_industries_cpq.ContextDataInput(); cd1.nodeName = 'Quote'; //Where Quote is the name of the node in the context definition. cd1.nodeData = new Map<String,Object>(); cd1.nodeData.put('id',recId); listContextData.add(cd1); // Return the additional Context Data to a flow output.additionalContextData = listContextData; return new List<FlowOutput>{output}; } } - 変更を保存します。
「カスタム商品の検索」フローの作成
事前設定済みの [商品を検出] フローでは、まずユーザーが使用できるカタログ数が識別されます。[商品検出] 設定ページでデフォルトのカタログが選択されている場合、ユーザーがフローを開始したときにカタログが自動的に表示されます。次に、フローはフローの呼び出し元のレコードの objectApiName と recordId を Apex クラスに渡して、追加のコンテキスト データを生成します。次に、フローは選択されたカタログと、ユーザーが見積と注文に追加できる商品を表示する商品リストページコンテナコンポーネントの追加のコンテキストデータを使用します。
商品リストページコンポーネントを使用して、見積や注文などのオブジェクトやカスタムコンポーネントに商品リストを追加します。商品リストページコンポーネントを使用すると、特定のニーズに合わせて商品リストの表示とアクションの表示ラベルを柔軟にカスタマイズできます。
[商品リストページ] コンポーネントをカスタム Lightning Web コンポーネントに追加する場合は、Lightning Message Service の productDiscovery_notification メッセージ チャネルにカスタム コンポーネントを登録して、コンポーネント間の通信を有効にします。次に、ビジネスニーズに基づいてチャネルから送信されるイベントのアクションをカスタマイズします。詳細は、「Subscribe and Unsubscribe from a Message Channel (メッセージチャネルの登録と登録解除)」を参照してください。
- [設定] の [クイック検索] ボックスに「フロー」と入力し、[フロー] を選択します。
- 事前設定されたフローを開くには、[Discover Products (商品を検出)] をクリックします。
- フローページのヘッダーで [Save as New Flow (新規フローとして保存)] をクリックし、フローの表示ラベルとフロー API 参照名を入力します。
- 変更を保存します。
これで、フローをカスタマイズできます。
[商品を検出] フローから継承された既存のパラメーターを更新または無効にすると、望ましくない動作やエラーが発生します。特定の使用事例に合わせてフローをカスタマイズする新しいパラメーターを作成することをお勧めします。
フローを作成したら、[商品検出設定] ページでフローを選択して、ユーザーが見積ページと注文ページから [カタログを参照] ボタンをクリックしたときにフローを自動的に起動します。または、フローをレコードページの関連付けられたアクションボタンに対応付けます。
関連項目:
フローへの追加項目の追加
上書きされたフローに追加の標準またはカスタム商品項目を表示するには、これらの項目を含むコレクション変数を作成し、商品リストコンテナコンポーネントのプロパティパネルでその変数を選択します。
- [設定] の [クイック検索] ボックスに「フロー」と入力し、[フロー] を選択します。
- 上書きされたフローを開きます。
-
フローコレクション変数を作成します。
コレクション変数は、割り当て要素の商品項目に関連付けることができます。
- ツールボックスマネージャーで、[新規リソース] をクリックします。
- リソース種別として [変数] を選択します。
- API 参照名と変数の説明を入力します。
- データ型として [テキスト] を選択します。
- 変数を複数の値を保存できるコレクション変数に変換するには、[Allow multiple values (collection) (複数の値を許可 (コレクション))] を選択します。
- 変更を保存します。
-
コレクション変数に値を割り当てるには、[商品リストページ] フロー画面コンポーネントの前に [割り当て] 要素を追加します。
- 割り当て要素の名前、API 参照名、説明を入力します。
- [変数] に、フローコレクション変数の API 参照名を入力します。
- 演算子として [追加] を選択します。
-
商品項目の API 参照名を変数の値として指定します。
たとえば、商品オブジェクトの [仕様種別] 項目をコレクション変数の値として追加するには、「Product2.SpecificationType」と入力します。
最大 3 個の商品項目を追加できます。 -
[商品リストコンテナ] フロー画面コンポーネントでコレクション変数を選択します。
- フロー画面コンポーネントを開きます。
- プロパティパネルにアクセスするには、[編集画面] ページで [商品リストコンテナ] コンポーネントをクリックします。
- [追加項目] プロパティに、コレクション変数の API 参照名を入力します。
- [完了] をクリックします。
- フローを保存します。

