產品探索的覆寫流程
使用「探索產品」流程選取目錄,然後將目錄中的產品新增至其相關聯的記錄頁面。「探索產品」流程已可供「產品探索」使用,您可以自訂超出可用功能的流程以符合您的業務需求。
必要版本
| 檢視支援的產品和版本。 |
| 需要的使用者權限 | |
|---|---|
| 若要在 Flow Builder 中開啟、編輯或建立流程: | 管理流程 |
建立建立內容資料輸入記錄的 Apex 類別
流程使用 Apex 類別來建立包含物件 API 名稱和記錄識別碼的 ContextDataInput 記錄清單。接著流程會將包含其他內容資料的清單傳送至「產品清單頁面容器」元件。元件會顯示產品,並使用其他內容資料、內容定義、資格規則程序和資格規則來決定產品資格。
建立 Apex 類別以物件的 API 名稱和記錄識別碼作為輸入,並傳回 ContextDataInput 記錄清單作為輸出。
- 進入「設定」,在「快速尋找」方塊中輸入 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 訊息管道來啟用其之間的通訊。接著,根據您的業務需求自訂從管道傳送的事件動作。如需詳細資訊,請參閱 從訊息管道訂閱和取消訂閱。
- 進入「設定」,在「快速尋找」方塊中輸入 流程並予以選取。
- 若要開啟預先設定的流程,請按一下「探索產品」。
- 按一下流程頁面頁首上的「另 存為新流程 」,然後輸入流程標籤和流程 API 名稱。
- 請儲存您的變更。
您現在可以自訂流程。
更新或停用從「探索產品」流程繼承的現有參數會導致不良行為或錯誤。建議建立新參數,以針對特定使用個案自訂流程
建立流程後,在「產品探索設定」頁面上選取流程,以在使用者從報價與訂單頁面按一下「瀏覽目錄」按鈕時自動啟動流程。或者,將流程對應至其記錄頁面的相關聯動作按鈕。
另請參照:
在流程中包含其他欄位
若要在覆寫的流程中顯示其他標準或自訂產品欄位,請建立包含這些欄位的集合變數,然後在產品清單容器元件的內容面板上選取變數。
- 進入「設定」,在「快速尋找」方塊中輸入 流程並予以選取。
- 開啟您的覆寫流程。
-
建立流程集合變數。
您可以將集合變數與「指派」元素中的產品欄位相關聯。
- 進入工具箱管理員,按一下「新增資源」。
- 選取「變數」作為資源類型。
- 輸入 API 名稱和變數的描述。
- 選取「文字」 作為資料類型。
- 若要將變數轉換為可儲存多個值的集合變數,請選取「允許多重值 (集合)」。
- 請儲存您的變更。
-
若要將值指派給集合變數,請在「產品清單頁面」流程畫面元件之前新增「指派」元素。
- 輸入名稱、API 名稱,以及「指派」元素的描述。
- 在「變數」中,輸入流程集合變數的 API 名稱。
- 選取「新增」 作為您的運算子。
-
將產品欄位 API 名稱指定為變數的值。
例如,若要將產品物件的「規格類型」欄位新增為集合變數的值,請輸入 Product2.SpecificationType。
您最多可包含 3 個額外的產品欄位。 -
在「產品清單容器」流程畫面元件上選取集合變數。
- 開啟流程畫面元件。
- 若要存取內容面板,請按一下「編輯畫面」頁面上的「產品清單容器」元件。
- 在「其他欄位」內容中,輸入集合變數的 API 名稱。
- 按一下「完成」。
- 儲存流程。

