執行內容 (用戶端參考)
發行︰ 2017年1月
適用於: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online
執行內容是選用參數,可透過事件處理常式傳遞至 JavaScript 程式庫函數。 指定函數名稱時,此選項會出現在處理常式屬性對話方塊中。 使用 passExecutionContext 屬性,為 <Handler> (FormXml) 元素設定此選項。
執行內容自動傳遞至使用 Xrm.Page.data.fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_addOnSave 和 Xrm.Page.data.entityAttribute.6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_addOnChange 以及 Xrm.Page.uiControl.51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_addPreSearch 方法設定的功能。
執行內容方法
getContext
傳回 用戶端內容 (用戶端參考) 物件的方法。getDepth
此方法傳回值,指出此處理常式執行的順序。getEventArgs
此方法會使用管理 Save 事件的方法,傳回物件。getEventSource
方法,傳回事件發生所在之物件的參考。getFormContext
傳回表單或可編輯網格的參考的方法,取決於方法呼叫的位置。共用變數
共用變數允許與相同事件的其他處理常式共用變數。 使用 setSharedVariable 和 getSharedVariable 方法來處理共用變數。
getContext
傳回 用戶端內容 (用戶端參考) 物件的方法
ExecutionContextObj.getContext()
- 傳回值
類型: 物件
getDepth
此方法傳回值,指出此處理常式執行的順序。
傳回值
類型: 數字順序從 0 開始。
getEventArgs
此方法會使用管理 Save 事件的方法,傳回物件。
注意
此方法針對 Save 事件之外的所有事件傳回 null。
ExecutionContextObj.getEventArgs()
傳回值
類型: 物件其他資訊:儲存事件引數 (用戶端參考)。
getEventSource
方法,傳回事件發生所在之物件的參考。
ExecutionContextObj.getEventSource()
傳回值
類型: 物件此方法從事件來源 Xrm.Page 物件模型傳回物件,而不會傳回 HTMLDOM 物件。 例如,在 OnChange 事件,此方法傳回 Xrm.Page.data.entity 屬性物件,代表已變更的屬性。
getFormContext
傳回表單 (Xrm.Page) 或可編輯網格的參考的方法,取決於方法呼叫的位置。
ExecutionContextObj.getFormContext()
傳回值
類型: 物件此方法會傳回來自 Xrm.Page 物件模型的物件參考,或可編輯網格中 dabc9332-54f3-4b1e-ac98-a3c5a4641b0c#BKMK_GridRow 物件的參考,取決於方法呼叫的位置。 此方法可讓您建立一般事件處理常式,可在表單或可編輯網格上操作,取決於其呼叫位置。
其他資訊:使用 Xrm.Page 物件模型 和 可編輯的 Grid 物件和方法 (用戶端參考)
注意
此方法已在 Dynamics 365 (Online 和內部部署) 的 2016 年 12 月更新 中引進。
範例
下列範例程式碼示範如何建立方法,在表單欄位或可編輯網格儲存格上設定通知,根據您註冊指令碼 (d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_FieldOnChangeEvent) 或可編輯網格 (dabc9332-54f3-4b1e-ac98-a3c5a4641b0c#BKMK_OnChange 事件) 的位置:function commonEventHandler(executionContext) { var entityObject = executionContext.getFormContext().data.entity; var telephoneAttr = entityObject.attributes.getByName('telephone1'); var isNumberWithCountryCode = telephoneAttr.getValue().substring(0,1) === '+'; // telephoneField will be an Xrm.Page control if invoked from a form OnChange event; // telephoneField will be a editable grid GridCell object if invoked from editable grid OnChange event. var telephoneField = telephoneAttr.controls.getByIndex(0); if (!isNumberWithCountryCode) { telephoneField.setNotification('Please include the country code beginning with ‘+’.', 'countryCodeNotification'); } else { telephoneField.clearNotification('countryCodeNotification'); } }
共用變數
共用變數允許與相同事件的其他處理常式共用變數。 使用 setSharedVariable 和 getSharedVariable 方法可在函數之間傳遞變數。
setSharedVariable
設定變數的值,處理常式可在目前處理常式完成後使用該變數值。
ExecutionContextObj.setSharedVariable(key, value)
引數
String:變數的名稱。Object:要設定的值。
getSharedVariable
擷取使用 setSharedVariable 設定的變數。
ExecutionContextObj.getSharedVariable(key)
引數
String:變數的名稱。傳回值
類型: 物件特定類型取決於值物件的類型。
另請參閱
Microsoft Dynamics 365
© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權