共用方式為


將 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 屬性選項、OrgNameOrgLcid、以及 UserLcid 都可使用且不需要您使用 Xrm.Page.context 來使用 getOrgUniqueNamegetOrgLcid、以及 getUserId 方法。 對於 <Url> (RibbonDiffXml) 動作,您也可以使用 PassParams 屬性包含關聯式資訊。

Value 選項 PrimaryEntityTypeNameFirstPrimaryItemId 為實體記錄提供資訊。 您可以針對 HomepageGrid 使用 PrimaryItemIds 功能區來取得所有顯示項目的清單。

最後,您可以使用 CommandProperties 值傳遞關於來自功能區控制項事件的詳細資料。 您可以使用此資訊將關聯資訊傳送至中央函數,特定功能可以依據事件背景決定。

另請參閱

自訂命令和功能區
使用功能區傳遞參數至 URL
<CrmParameter> (RibbonDiffXml)
<JavaScriptFunction> (RibbonDiffXml)
<Url> (RibbonDiffXml)
定義功能區動作
定義自訂動作來修改功能區

Microsoft Dynamics 365

© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權