建立新供應商
若要建立新供應商,請使用以下步驟。 您還可以使用這些步驟新增現有供應商。
定義供應商架構
在建立供應商之前,了解您希望供應商執行的動作以及使用它的目的很重要。 供應商具有多個元件,您可能不需要所有元件。
使用下表確定您需要哪些元件。
條件 | 需要的元件 |
---|---|
您要為其建立供應商的服務在 Power Automate 中沒有連接器。 有關更多資訊,請參閱所有 Power Automate 連接器的清單。 |
建立客戶連接器或使用一般連接器。 |
您的供應商將在外部服務和 Microsoft Dataverse 之間交換資料。 | 您的供應商需要進行供應商轉換。 為各個轉換新增供應商轉換元件。 |
您的供應商將執行來自協調流程設計工具的邏輯。 | 建立一個單獨的 Power Automate 流程來表示每個動作。 |
您的供應商需要處理來自外部服務的訊息。 | 建立 Power Automate 訊息處理常式流程。 |
您的供應商將定期從外部服務中提取訊息。 | 建立 Power Automate 訊息提取器流程。 |
您的供應商將引發 Intelligent Order Management 中目前未定義的商務活動。 | 建立新的商務活動定義並新增現有事件。 |
當您理解解決方案後,就可以繼續實施供應商。
建立供應商解決方案
您需要完成本節中的以下工作,才能建立供應商解決方案。
設定自訂供應商。
新增供應商定義。
將元件新增到您的解決方案中。
設定自訂供應商
在 Power Apps 中建立一個解決方案,其中將包含您供應商的元件。 要在 Power Apps 中建立新解決方案,請按照在 Power Apps 中建立解決方案中的步驟動作。
新增供應商定義
供應商定義包含您供應商的詳細資料。 該定義決定了您的供應商將如何出現在供應商目錄中。
在您建立的供應商解決方案中,選擇新增。
選擇 IOM 供應商定義。
新增以下詳細資料:
顯示名稱:要為提供程式提供的名稱,例如「測試提供程式」。
邏輯名稱:提供程式的匯出金鑰。
說明:用於描述提供程式所執行操作的文本。
選取儲存。
如果要新增標誌,請上傳影像。
確認您的供應商定義是否出現在解決方案中。 應顯示具有元件類型 IOM 供應商定義的記錄。 如果未顯示,請選擇新增現有的,然後選擇您剛剛建立的記錄。
確認您的供應商是否出現在供應商目錄中。 如果您將 Is Active 欄位設定為是,您的供應商定義將顯示在供應商目錄中。 開啟 Intelligent Order Management。 前往供應商>目錄。 確認是否有顯示您的供應商定義。
新增元件至解決方案
建立供應商定義後,將供應商元件新增到解決方案中。
移至您的解決方案。
選取新增現有。
選擇 Intelligent Order Management 元件類型,然後選擇您剛剛建立的記錄。
建立提供者轉換
如果您的供應商需要轉換,您需要將供應商轉換元件新增到解決方案中。 您可能需要建立多個轉換。
在您的供應商解決方案中,選擇新增。
選擇 IOM 供應商定義轉換。
新增以下詳細資料:
顯示名稱:提供程式轉換的名稱,例如“轉換銷售訂單”。
邏輯名稱: 提供程式的唯一標識碼。 該值將作為資料的匯入和匯出金鑰。 其應該以發行者的首碼開頭。 例如,Microsoft 使用發行者首碼 msdyn_。 邏輯名稱的範例是:msdyn_flexe_fulfillmentorderproduct_orderline 和 msdyn_flexe_fulfillmentorder_order。
源類型:此欄位指示接收的數據類型。 有兩個選項:JsonDocument 或 Dataverse 實體。 如果您的資料已經在 Dataverse 中,請選擇 Dataverse 實體。 如果沒有,請選擇 JsonDocument。 此資訊將用於您定義的 Power Automate 元素以尋找轉換。
源物件名稱:要轉換的數據的名稱。 如果您要轉換 Dataverse 記錄,請確定來源物件名稱與 Dataverse 資料表中的名稱相同。
目標物件名稱:要轉換的記錄的目標。
轉換: Power Query 將用於轉換輸入數據的在線 MQuery。 有關 Power Query 和 MQuery 的資訊,請參閱什麼是 Power Query? 和 Power Query M 公式語言參考。以下是將銷售訂單從外部訂單服務轉換為 Intelligent Order Management 中的銷售訂單的 MQuery 範例。
shared TransformSourceData =
let
orderItems = Source\[OrderItems\],
orderheader =
Record.FromTable
(
Table.SelectRows
(
Record.ToTable
(
\[
ordernumber = Record.FieldOrDefault(Source, "SellerOrderId", Text.From(Source\[OrderServiceOrderId\])),
name = ordernumber,
msdyn\_ExternalOrderId = Text.From(Source\[OrderServiceOrderId\]),
\#"customerid\_account@odata.bind" = "/accounts(" & Text.From(Source\[accountid\]) & ")",
\#"pricelevelid@odata.bind" = "/pricelevels(" & Text.From(Source\[pricelevelid\]) & ")",
totalamount = if Record.HasFields(Source, "OrderTotal") then Decimal.From(Record.FieldOrDefault(Source\[OrderTotal\], "Amount")) else null,
shipto\_name = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "Name") else null,
shipto\_contactname = shipto\_name,
shipto\_line1 = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "AddressLine1") else null,
shipto\_line2 = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "AddressLine2") else null,
shipto\_line3 = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "AddressLine3") else null,
shipto\_city = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "City") else null,
shipto\_stateorprovince = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "StateOrRegion") else null,
shipto\_country = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "CountryCode") else null,
shipto\_postalcode = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "PostalCode") else null,
shipto\_telephone = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "Phone") else null,
overriddencreatedon = Record.FieldOrDefault(Source, "PurchaseDate")
\]
), each \[Value\] \<\> null
)
),
orderlines = List.Transform(orderItems, each
Record.FromTable
(
Table.SelectRows
(
Record.ToTable
(
\[
isproductoverridden = true,
ispriceoverridden = true,
productdescription = \[OrderItemId\] & "-" & Record.FieldOrDefault(\_, "SellerSKU") & "-" & Record.FieldOrDefault(\_, "Title"),
quantity = \[QuantityOrdered\],
quantityshipped = Record.FieldOrDefault(\_, "QuantityShipped"),
priceperunit = if Record.HasFields(\_, "ItemPrice") then Decimal.From(Record.FieldOrDefault(\[ItemPrice\], "Amount")) else null,
manualdiscountamount = if Record.HasFields(\_, "PromotionDiscount") then Decimal.From(Record.FieldOrDefault(\[PromotionDiscount\], "Amount")) else null,
tax = if Record.HasFields(\_, "ItemTax") then Decimal.From(Record.FieldOrDefault(\[ItemTax\], "Amount")) else null,
shipto\_name = Record.FieldOrDefault(orderheader, "shipto\_name"),
shipto\_contactname = Record.FieldOrDefault(orderheader, "shipto\_contactname"),
shipto\_line1 = Record.FieldOrDefault(orderheader, "shipto\_line1"),
shipto\_line2 = Record.FieldOrDefault(orderheader, "shipto\_line2"),
shipto\_line3 = Record.FieldOrDefault(orderheader, "shipto\_line3"),
shipto\_city = Record.FieldOrDefault(orderheader, "shipto\_city"),
shipto\_stateorprovince = Record.FieldOrDefault(orderheader, "shipto\_stateorprovince"),
shipto\_country = Record.FieldOrDefault(orderheader, "shipto\_country"),
shipto\_postalcode = Record.FieldOrDefault(orderheader, "shipto\_postalcode"),
shipto\_telephone = Record.FieldOrDefault(orderheader, "shipto\_telephone"),
overriddencreatedon = Record.FieldOrDefault(orderheader, "overriddencreatedon")
\]
), each \[Value\] \<\> null
)
)
),
salesorder = Record.AddField(orderheader, "order\_details", orderlines)
in Text.FromBinary(Json.FromValue(salesorder));
請選取儲存。
確認您的轉換元件是否正確顯示。 應顯示具有轉換名稱的 IOM 供應商定義轉換的元件類型。 如果未顯示,請選擇新增現有的,然後選擇您剛剛建立的轉換。
新增商務活動定義
如果您的供應商將建立或使用新的商務活動,您必須將 IOM 供應商定義商務活動定義元件新增到您的解決方案中。 您只需新增 Intelligent Order Management 中尚不存在的商務活動。
如果您要建立的商務活動尚未在 Intelligent Order Management 中,您可以建立自己的商務活動。
選擇新建。
選擇 IOM 供應商定義商務活動定義。
新增以下詳細資料:
名稱:商務活動的名稱。
供應商:要為其創建此業務定義的供應商。
關聯實體: Dataverse 智慧訂單管理中在創建事件時發生更改或影響的實體。
關聯的狀態值:如果您希望在引發商務事件時更新關聯實體的狀態,請在此欄位中包含狀態值。
關聯狀態值:如果您希望在引發商務事件時更新關聯實體的狀態,請在此欄位中包含狀態值。
請選取儲存。
檢查您的解決方案以確認是否顯示了 IOM 供應商商務活動定義記錄。 如果該記錄未出現在解決方案中,請選擇新增現有的,然後選擇您剛剛建立的記錄。
新增連接器
如果您的供應商需要無法在 Power Automate 中使用的連接器,您需要建立自己的連接器。 有關更多詳細資訊,請參閱所有 Power Automate 連接器清單。
要建立您自己的 Power Automate 連接器,請按照自訂連接器概觀中的步驟動作。
建立自訂連接器後,將其作為元件新增到您的供應商解決方案中。
移至您的供應商解決方案。
選取新增現有的。
選取您已經建立的連接器。
Power Automate 流程的類型
在協調流程設計工具中執行的任何動作都由 Power Automate 流程表示。 如果您希望 Power Automate 擷取特定資訊或執行特定動作,則需要為這些動作建立流程。 要了解有關 Power Automate 的更多資訊,請參閱 Power Automate 簡介。
將您的流程作為供應商定義邏輯定義元件新增到您的供應商。
在開始流程建立程序之前,請查看 Intelligent Order Management 中使用的流程類型。
供應商訊息處理常式
這些流程接收和處理來自外部服務的訊息,並引發適當的商務活動以通知 Intelligent Order Management 協調流程。 這些流程由外部服務觸發。
以下是建立 Power Automate 流程訊息處理常式類型的結構範例。
- 定義 Power Automate 觸發程序。 這通常是 HTTP 端點,可能是 Webhook 觸發程序 (推薦)、連接器觸發程序或 Dataverse 插入觸發程序。 當外部服務有資料要發送到 Intelligent Order Management 時會引發觸發程序。
下面定義了 HTTP 觸發程序中使用的 JSON 結構描述。
{
"type": "object",
"properties": {
"text": {
"title": "ProviderActionExecutionEventId",
"type": "string",
"x-ms-dynamically-added": true,
"description": "Please enter your input",
"x-ms-content-hint": "TEXT"
},
"text_1": {
"title": "EntityRecordId",
"type": "string",
"x-ms-dynamically-added": true,
"description": "Please enter your input",
"x-ms-content-hint": "TEXT"
}
},
"required": [
"text",
"text_1"
]
}
初始化訊息處理。 此工作包含兩個步驟。
初始化將用於追蹤訊息處理的執行結果。
在 Intelligent Order Management 中確認供應商訊息,以便您可以追蹤、重試和顯示處理狀態。 這是 Intelligent Order Management 引入的 Power Automate 動作。 此動作在 IOM 中稱為 確認供應商訊息要求。 此動作具有以下比要參數。
PowerAutomateWorkflowId:消息處理程式定義上的 WorkflowId。 您可以使用 workflow()['tags'] 的組合函數來擷取該參數。
PowerAutomateRunId:接收消息的 Power Automate 運行的唯一標識符,允許管道重試處理並連結執行日誌。 您可以使用 workflow()['run']?['name'] 的組合函數來擷取該參數。
ProviderMessageExternalRequestId:發送的消息的標識碼。 如果不存在識別碼,則可以產生 GUID。 管線使用此識別碼來協助防止寄件者發送重複的訊息。 識別碼取決於來源承載。 例如:concat(triggerOutputs()?['body']?['type']?['name'], '_', triggerOutputs()?['body']?['id'])。
您之前定義的供應商轉換將擷取輸入資料並將其轉換。 Intelligent Order Management 提供了一個名為 IOM 供應商轉換的現成下層流程,其將執行轉換。 新增以下詳細資料以處理事件或訊息:
提供程式名稱:連結到消息處理程式的提供程式的名稱。 該值必須與您的供應商轉換同名。
源物件名稱:要執行的轉換的源查找鍵值。 該值需要與您供應商轉換中定義的來源物件名稱相同。
目標物件名稱: 要執行的轉換的目標查找鍵值。 該值需要與供應商轉換中定義的值相同。
有效負載:在轉換 JSON 有效負載時提供。 Power Automate 要求參數作為序列化字串傳遞。 提供承載或記錄識別碼值,不能同時提供兩者。
記錄 ID:在轉換 Dataverse 記錄時提供。 提供承載或記錄識別碼值,不能同時提供兩者。
您可以使用 HTTP 要求將資料插入 Dataverse 或 Dataverse 連接器插入動作。 如果您正在執行多個插入並希望提高效能,請將插入包裝到一個變更集中,以便要求位於交易批次處理中。
如果您希望流程引發商務活動,您可以使用引發商務活動下層流程。 新增以下詳細資料。
業務事件名稱:要引發的事件的名稱。
EntityRecordId:剛剛創建並關聯到事件的記錄的 ID。
使用更新提供商訊息要求狀態動作更新訊息處理狀態,以儲存處理執行結果。 新增以下詳細資料。
ProviderMessageRequestExecutionId:為跟蹤消息處理進度而創建的記錄的輸出 ID。
IsProviderMessageRequestExecutionSuccess: 布林值值,用於指示處理是否成功。
供應商訊息提取器
供應商訊息提取器是以定期定義的時間間隔,從外部服務提取訊息的 Power Automate 流程。
附註
訊息處理常式是訊息提取器流程的先決條件。
以下是建立 Power Automate 流程訊息提取器類型的結構範例。
使用重複工作流程來排程觸發程序。
從 Dataverse 取得檢查點。 檢查點會追蹤哪些訊息已成功從外部供應商中提取。 新增以下詳細資料。
操作名稱:檢查點的名稱。
WorkflowId:設置以下撰寫函數來檢索此資訊:workflow()['tags']['xrmWorkflowId']。
向外部供應商建立 HTTP Post 要求以提取訊息。 新增以下詳細資料。
方法:將此欄位 設置為 POST。
URL:外部提供方終結點。
正文:JSON 請求應具有以下公式:if (empty(outputs('Get_Checkpoint')?['body/Checkpoint']),0,int (outputs('Get_Checkpoint')?['正文/檢查站']))。
剖析步驟 3 中提取的訊息。 新增以下詳細資料。
內容:從步驟 3 檢索到的正文。
架構:在步驟 3 中檢索到的正文的結構。
處理訊息以循環遍歷步驟 4 中的每則訊息。
剖析前面步驟中的每則訊息。 新增下列資訊。
內容:處理消息中的 當前專案。
架構:JSON 格式的單個消息。
呼叫您在先決條件中設定的關聯供應商訊息處理常式。 新增下列資訊。
下層流程:選擇提供程式消息處理程式。
消息:從步驟 6 分析的消息。
將檢查點儲存到 Dataverse。 新增下列資訊。
檢查點:這可以是任何字串值 (最多 100 個)。 在此範例中,這是最後處理的訊息的識別碼。
WorkFlowId:您可以通過將撰寫函數集添加到 workflow()['tags']['xrmWorkflowId'] 來檢索此 ID。
供應商動作
供應商動作流程是從協調流程設計工具叫用的。 這些流程通常從 Intelligent Order Management 呼叫外部服務。
供應商訊息處理常式和供應商動作之間的主要區別在於,雖然訊息處理常式可以通知協調流程設計工具,但它不能由協調流程設計工具中的動作圖格觸發,而供應商動作可以。
以下是供應商動作 Power Automate 流程的範例結構。
- 從 HTTP 觸發程序開始。 協調流程服務將在執行時傳遞以下資訊。 下列 JSON 結構描述將用於正文:
{
"type": "object",
"properties": {
"text": {
"title": "ProviderActionExecutionEventId",
"type": "string",
"x-ms-dynamically-added": true,
"description": "Please enter your input",
"x-ms-content-hint": "TEXT"
},
"text_1": {
"title": "EntityRecordId",
"type": "string",
"x-ms-dynamically-added": true,
"description": "Please enter your input",
"x-ms-content-hint": "TEXT"
}
},
"required": [
"text",
"text_1"
]
}
初始化動作處理。
初始化執行結果和任何其他處理變數。
使用啟動提供商動作執行 Dataverse 動作以確認動作開始執行。 這可讓管線在 Intelligent Order Management 中追蹤、重試和顯示處理狀態。 新增下列資訊。
ProviderActionExecutionEventId: 此值在步驟 1 中作為輸入參數傳遞到操作中。
PowerAutomateRunID:操作的唯一 Power Automate 運行。 這可讓管線連結執行記錄。 透過將欄位設定為 Power Automate 運算式 worflow()['run']?['name'] 來取得此資訊。
執行該動作。
如有必要,請使用使用 Power Query Online 轉換訊息下層流程轉換記錄。
提供程式名稱:要連結到操作的提供程序的名稱。 該名稱必須與您的供應商定義同名。
源物件名稱:要執行的轉換的源名稱。 此名稱必須與 Power Automate 轉換中定義的來源物件相同。
目標物件名稱:要執行的轉換的目標查找鍵值。 該名稱必須與供應商轉換中定義的值相同。
有效負載:在轉換入站 JSON 有效負載時提供。 Power Automate 要求參數作為序列化字串傳遞。 新增承載或記錄識別碼值,但不能同時新增兩者。
記錄 ID:在轉換出站 Dataverse 記錄時提供。 新增承載或記錄識別碼值,但不能同時新增兩者。
執行您定義的任何自訂動作。 這些是出現在您正在使用的 Power Automate 連接器上的動作。
引發特定動作的商務活動。 使用引發商務活動下層流程。 新增下列資訊。
業務事件名稱:要引發的事件的名稱。
EntityRecordId:與事件關聯的記錄的 ID。
完成動作執行並儲存結果。 結果將由協調流程設計工具處理。 新增下列資訊。
執行結果:布林值值以指示處理是否成功。
執行詳細資訊:用於測試和調試目的的可選日誌詳細資訊。
ProviderActionExecutionEventId:此值作為步驟 1 中定義的輸入參數傳遞到操作中。
下層流程
下層流程是在其他 Power Automate 流程中參考的下層流程。 如果您會在多個區域重複執行某些步驟,那麼定義下層流程會很有幫助。 下層流程沒有特定的範本或推薦流程,因為它們主要用於方便合併類似步驟。
供應商下層流程不能呼叫其他供應商下層流程。
建立雲端流程
當您了解要建立的流程類型時,您就可以建立雲端流程了。 若要這麼做,請執行以下步驟:
- 在您的 Power Apps 環境中打開預設解決方案。
重要注意事項
不要將這些解決方案新增到您的供應商解決方案中。
選擇新增,然後選擇雲端流程。
組建您的 Power Automate 流程。 使用上一節中的範本作為參考。
請參閱以下區段以儲存您的流程。
儲存 Power Automate 定義
建立流程後,您需要將它們另存為供應商定義邏輯定義元件。 此元件類型為 Intelligent Order Management 提供了在供應商啟用期間部署的動作。
在儲存流程之前,您必須達成以下先決條件。
要儲存您的 Power Automate 邏輯定義,您需要發出 OData 要求。 為此,您需要一個 PostMan 或類似服務的帳戶。
您將需要為 Dataverse 環境產生存取權杖以發出 GET 和 POST 要求。
設定具有有效訂閱的 Azure 帳戶。 如果您沒有作用中的帳戶,則需要在 Azure 網站上設定一個帳戶。
必須安裝 PowerShell。 更多資訊,請參閱安裝 PowerShell。
在 PowerShell 中輸入以下命令以取得存取權杖:az login --allow-no-subscriptions account get-access-token --resource=https://YourDataverseTenantURL.api.crm.dynamics.com/ --query=accessToken --output=tsv | Set-Clipboard。
要儲存您的 Power Automate 定義,請執行以下動作。
找到您要儲存的 Power Automate 流程的工作流程識別碼。 執行以下動作之一。
使用 Power Automate 動作尋找工作流程識別碼。
在 Power Automate 流程末尾使用 workflow() 運算式建立一個組合動作。
執行 Power Automate。
執行結果中的 xrmWorkflowId 屬性將包含工作流程識別碼。
從流程中刪除此動作,使其不再執行。
或者,您可以發出 Get OData 要求。
前往要為其儲存工作流程識別碼的流程。 在 URL 中尋找唯一識別碼。 這是在 URL 中 ../flows/ 之後的識別碼。
發出 OData 要求以擷取工作流程中繼資料。 下面是 GET 要求範例。
GET {Env url}/api/data/v9.1/workflows?$filter=workflowidunique eq '{Unique Workflow Id from the Power Automate U}'&$select=workflowid,workflowidunique儲存傳回的 workflowid 屬性。
尋找供應商定義識別碼。
選擇要儲存流程的供應商定義。
從 URL 複製供應商定義識別碼。 這是 URL ../id={example number}/的一部分。
記下您正在儲存的 Power Automate 類型的選項設定值。
下層流程:192350002
提供者操作:192350001
提供程式訊息處理程式:192350000
供應商訊息提取器:192350003
發出 POST 要求以儲存您的 Power Automate 定義。 下面是要求範例。
POST: {Env url}/api/data/v9.1/msdyn\_SaveProviderDefinitionLogicDefinition
Body:
{
"ProviderDefinitionId": "{ProviderId previously found}",
"WorkflowId": "{Power Automate WorkflowId previously found}",
"LogicalName": "{Export prefix \_ Power Automate Export Name}",
"LogicType": {Logic Type},
"MaxRetryAttempts": {Max number of attempts},
"TimeoutMinutes": {Timeout number ex: 5}
}
確認您的供應商定義邏輯定義元件是否已新增。 若要這麼做,請執行以下步驟:
移至您的供應商解決方案。
確認您建立的供應商定義邏輯定義已新增。 如果未新增,請選擇新增現有的,然後新增您建立的元件。
儲存連線參考
如果您的供應商使用客戶 Power Automate 連接器,您必須完成以下步驟以儲存對 Power Automate 解決方案的連接參考。
- 發出 GET 要求以擷取您的連接參考識別碼。 例如:
GET {Env url}/api/data/v9.2/connectionreferences
如果要進一步篩選,可以按連接引用名稱進行篩選。 例如:
{Env url}/api/data/v9.2/connectionreferences?$[connectionreferences?$filter=connectionreferencedisplayname](https://orgdb90e3a2.api.crm10.dynamics.com/api/data/v9.2/connectionreferences?$filter=connectionreferencedisplayname) eq 'Provider Example'&$select=connectionreferencelogicalname,connectionreferencedisplayname,connectionreferenceid,connectorid
透過搜尋 Power Automate 用戶端資料確認是否擷取到正確的連接參考識別碼。
前往您先前儲存的供應商定義邏輯定義元件。
檢查用戶端資料以確認 connectionReferenceLogicalName 是否出現。
尋找供應商定義識別碼。 這與您在步驟 2 中用於儲存 Power Automate 邏輯定義的值相同。
發出 Post 要求以儲存您的連接參考。 例如:
POST {Env url}/api/data/v9.1/msdyn\_SaveProviderDefinitionConnectionReference
Body:
{
"ProviderDefinitionId": "{ProviderId previously found}",
"ConnectionReferenceId": "{Connection reference id previously found}"
}
確認您的供應商定義邏輯定義元件是否已新增。
移至您的供應商解決方案。
確認您建立的供應商定義邏輯定義參考元件已新增。 如果未新增,請選擇新增現有的,然後新增您建立的元件。
共用您的供應商
如果您想在另一個環境中使用您的供應商定義或共用您的解決方案,您可以匯出供應商解決方案。 關於更多資訊,請參閱匯出解決方案。