將 Microsoft Dynamics 365 資料以參數形式傳遞至功能區動作
發行︰ 2017年1月
適用於: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online
當您在功能區中定義一項動作,您必須經常從頁面傳遞資料至 JavaScript 函數或 URL。 本主題說明選項使用 <CrmParameter> (RibbonDiffXml) 元素擷取這些值。
格線值
大部分的 <CrmParameter> (RibbonDiffXml) 元素中可用的值與格線或階層圖表中顯示的資料有關聯。 透過使用 Value 屬性列舉選項,輕鬆地找出項目:
選取項目
SelectedControlSelectedItemCount
SelectedControlSelectedItemIds
SelectedControlSelectedItemReferences
所有項目
SelectedControlAllItemCount
SelectedControlAllItemIds
SelectedControlAllItemReferences
未選取項目
SelectedControlUnselectedItemCount
SelectedControlUnselectedItemIds
SelectedControlUnselectedItemReferences
對於這些群組,您可以收集項目和 GUID 識別碼的數字。 如果您傳遞值至 URL,即可擷取包含需要在格線中進行識別所有資訊的 EntityReference 物件。 這些參數套用檢視的頁面是主要格線 (HomepageGrid) 或位於表單中的子格。 和 SelectedEntityTypeName 參數一起使用時,你會擁有所有必要用於傳遞至其他應用程式的資訊。
表單值
在有表單功能區的情況下,你可以使用 Xrm.Page.data.entity.屬性 集合以及 Xrm.Page.ui.控制項 集合來為已知欄位擷取值。 不過,若要傳送選取表單欄位的值,則必須執行更多指令才能取得值。
您可以使用 PrimaryControlId 參數取得有 Id 焦點的控制項的值,讓功能區控制接受焦點。Id 是 Document Object Model (DOM) Id 的值。 為了取得資料值,您必須透過使用以下程式碼來嘗試使用該值:
var focusFieldValue = Xrm.Page.ui.controls.get(PrimaryControlId).getAttribute().getValue()
內容資訊
除了資料值以外,您可以透過使用 <CrmParameter> (RibbonDiffXml) 取得額外的內容資訊。
為了方便,Value 屬性選項、OrgName、OrgLcid、以及 UserLcid 都可使用且不需要您使用 Xrm.Page.context 來使用 getOrgUniqueName、getOrgLcid、以及 getUserId 方法。 對於 <Url> (RibbonDiffXml) 動作,您也可以使用 PassParams 屬性包含關聯式資訊。
Value 選項 PrimaryEntityTypeName 和 FirstPrimaryItemId 為實體記錄提供資訊。 您可以針對 HomepageGrid 使用 PrimaryItemIds 功能區來取得所有顯示項目的清單。
最後,您可以使用 CommandProperties 值傳遞關於來自功能區控制項事件的詳細資料。 您可以使用此資訊將關聯資訊傳送至中央函數,特定功能可以依據事件背景決定。
另請參閱
自訂命令和功能區
使用功能區傳遞參數至 URL
<CrmParameter> (RibbonDiffXml)
<JavaScriptFunction> (RibbonDiffXml)
<Url> (RibbonDiffXml)
定義功能區動作
定義自訂動作來修改功能區
Microsoft Dynamics 365
© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權