自訂 Dynamics 365 CRM 服務
接下來這部份提供有關如何針對 Dynamics 365 CRM 上載自訂檔案的詳細指示。
先決條件
請確保您已在系統中安裝 ThingWorx Flow 工具。
ThingWorx Flow 工具會隨您的安裝自動安裝。如需有關 ThingWorx Flow 工具的詳細資訊,請參閱部署連接器
您需要以 ThingWorx 管理員身分登入,才能完成此動作。
步驟
您可使用下列其中一種方式自訂 Dynamics 365 CRM 服務:
更新 OData 中繼資料 - Dynamics 365 CRM 服務包括 OData 中繼資料 9.0 版。您可能需要處理不同版本,或者可能已將自訂新增至您的版本。在此情況下,您需要更新 Dynamics 365 CRM 中繼資料檔案。您可以下載 Dynamics 365 CRM 中繼資料檔案的封裝版本以供參考,並將您的版本或已更新版本上載至 ThingWorx Flow 實例。
ThingWorx Flow OOTB 僅支援 Dynamics 365 CRM 模型中的幾個實體。OOTB settings.json 只包括這些支援的實體。不過,封裝的 OData 中繼資料包含所有實體、關聯以及 Microsoft 支援的其他任何內容。您可能會想要針對其他實體測試 Dynamics 365 CRM,並透過更新 settings.json 檔案來將這些實體包括在實體、內容與相關項目清單中。然後,將其上載至您的 ThingWorx Flow 實例。編輯此檔案時請小心,因為任何語法錯誤都可能導致 ThingWorx Flow 中的 Dynamics 365 CRM 無法使用。若要瞭解如何更新此檔案,請下載封裝檔案,並將其與正在使用的 OData 中繼資料檔案進行比較。
下表提供有關您可在 Dynamics 365 CRM settings.json 檔案中更新以自訂 Dynamics 365 CRM 的屬性相關資訊。
屬性
描述
DynamicsApiVersion
指定 Dynamics 365 CRM API 版本。依預設,其設定為 9.0
EntitySetDefinitions
propertyDefinitions
定義您要顯示在 ThingWorx Flow UI 中的 Dynamics 365 CRM 實體集。
例如:若要在 UI 中包括 accounts 實體集,請在 EntitySetDefinitions 屬性下指定下列內容:
"name": "accounts",
"include": true,
"label": "Account",
其中,name 指定 Dynamics 365 CRM 實體集名稱。
include 設定為 true 可在 UI 中顯示實體集。
label 屬性定義您要在 UI 中顯示的實體集名稱。
每個實體集都有內容。可在 propertyDefinitions 屬性下定義您要顯示在 UI 中的實體集中的內容。您可提供內容 namelabel 的陣列,來限制要顯示在 UI 中的任何實體集中的內容數。
例如:若要顯示 accountid 內容,請在 accounts EntitySetDefinitions 屬性的 propertyDefinitions 屬性下,指定下列內容:
{
"name": "accountid",
"label": "Account ID"
}
其中,name 指定內容名稱。
label 屬性定義您要在 UI 中顯示的內容名稱。
如果您要包括實體集的所有內容,請將 propertyDefinitions 的值設定為空陣列,即 "propertyDefinitions": []
* 
propertyDefinitions 不適用於「執行動作」「執行函數」動作。
relatedItems
如果您新增相關項目,則傳回的實體集資料包括該特定實體集的相關項目。
例如:若要顯示 attachments 內容,請在 accounts EntitySetDefinitions 屬性的 relatedItems 屬性下,指定下列內容:
{
"name": "attachments",
"label": "Attachments"
}
其中,name 指定相關項目名稱。
label 屬性定義您要在 UI 中顯示的相關項目名稱。
如果您不想包括實體集的任何相關項目,請將 relatedItems 的值設定為空陣列,即 relatedItems: []
上載 OData 中繼資料檔案
1. 從 Dynamics 365 CRM 實例中存取中繼資料檔案,來下載您的版本的中繼資料檔案。例如:https://host.dynamics.com/api/data/v9.0/$metadata。請注意,版本號碼必須與您的實例版本相符。
或者,您也可以執行下列指令來下載隨 ThingWorx Flow 封裝的版本:
flow-deploy settings file-download -t <ThingWorx_Base_URL> -u <ThingWorx_Administrator_Username> -p '<ThingWorx_Administrator_Password>' -f <Path_to_Metadata_XML_File> -s default -c dynamics365 --fileId DynamicsMetadata --contentType application/xml
* 
fileId 參數的值必須設定為 DynamicsMetadata
2. 開啟 XML 檔案,並確保所需自訂 (如果適用) 存在於下載的 XML 檔案中。如有必要,可編輯此檔案以新增您的自訂。
3. 執行下列指令,將自訂 OData 中繼資料檔案上載至您的 ThingWorx Flow 實例:
flow-deploy settings file-upload -t <ThingWorx_Base_URL> -u <ThingWorx_Administrator_Username> -p '<ThingWorx_Administrator_Password>' -f <Path_to_Metadata_XML_File> -s default -c dynamics365 --fileId DynamicsMetadata --contentType application/xml
* 
fileId 參數的值必須設定為 DynamicsMetadata
上載 settings.json 檔案
1. 執行下列指令,下載隨 ThingWorx Flow 封裝的 settings.json 檔案:
flow-deploy settings download -t <ThingWorx_Base_URL> -u <ThingWorx_Administrator_Username> -p '<ThingWorx_Administrator_Password>' -f <Path_to_Dynamics365_Settings_File> -s default -c dynamics365
2. 編輯 settings.json 檔案,並確保其與您計劃使用的 OData 中繼資料檔案相容。
請確保 settings.json 檔案中的 DynamicsApiVersion 值與您之前上載之 OData 中繼資料檔案中的版本相符。
3. 執行下列指令,上載 Dynamics 365 CRM settings.json 檔案:
flow-deploy settings upload -t <ThingWorx_Base_URL> -u <ThingWorx_Administrator_Username> -p '<ThingWorx_Administrator_Password>' -f <Path_to_Dynamics365_Settings_File> -s default -c dynamics365
所有上載都成功之後,重新啟動所有 ThingWorx Flow 服務。現在,您的自訂即針對所有 Dynamics 365 CRM 動作都可見。
這是否有幫助?