建立使用者定義的事件
發行︰ 2016年11月
適用於: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2013、Dynamics CRM 2015、Dynamics CRM 2016
Unified Service Desk根據託管控制項類型,提供託管控制項的預先定義事件。 除了這些預先定義的事件之前,您還可以在Unified Service Desk建立自己的事件,稱為使用者定義的事件。 您可以使用 FireEvent 動作或事件 moniker 執行使用者定義的事件。
本主題內容
使用 FireEvent 動作
使用事件 moniker
使用 FireEvent 動作
除了 CCA 託管應用程式以外,所有的預先定義和自訂Unified Service Desk託管控制項類型都有特殊的 UII 動作,稱為 FireEvent。 您可以呼叫此動作,從該控制項啟始使用者定義事件。 這是用來將多個動作呼叫群組到單一呼叫很方便的方式,有效地在Unified Service Desk內建立函式。 它也是在部署之前測試事件和其動作順序合理的方式。
FireEvent 的第一個參數是事件的名稱:
name=MyEvent
所有後續的名稱/值組都成為事件參數,因此可以當成因此呼叫的動作內的取代參數。 例如,假設您傳遞下列參數清單:
name=MyEvent
var1=[[account.name]]
這將會引發自訂事件 MyEvent 事件,啟用能夠建立使用 var1 參數的動作呼叫,如下所示:
Hosted Control=Some Hosted Control
UII Action=Some action on the Hosted Control
Data=[[var1]]
這會將事件參數做為資料參數傳遞至託管控制項動作。 在這個範例中,這表示託管控制項的資料參數將會是從工作階段的 account.name 值。
使用事件 moniker
您可以在託管控制項上建立自訂事件,然後使用下列事件 moniker 語法呼叫它:
http://event/?EventName=<EVENT_NAME>&key=value&key=value&…
在語法,您指定 key=value 配對,傳遞在事件被觸發時使用的參數表。
考慮當 Dynamics 365 中案例表單的案例標題變更時,要引發使用者定義事件的範例。 若要這樣做:
在 Microsoft Dynamics 365 中建立 [事件] 託管控制項的新事件,稱為 TitleChanged。
使用下列值建立動作呼叫,稱為 Action Call for Title Change:
欄位
值
名稱
Action Call for Title Change
託管控制項
事件
動作
RunXrmCommand
資料
function titleChangeReaction() { window.open("http://event/?EventName=TitleChanged&NewTitle="+encodeURIComponent(Xrm.Page.getAttribute("title").getValue())); } Xrm.Page.getAttribute("title").addOnChange(titleChangeReaction);
將您建立的新動作呼叫新增至 [事件] 託管控制項的 BrowserDocumentComplete 事件。其他資訊:將動作呼叫新增至事件
當 TitleChanged 事件被觸發時,會引發下列要求:http://event/?EventName=TitleChanged&NewTitle=<NEW_TITLE>
這會讓 TitleChanged 事件使用下列資料參數觸發:NewTitle=<NEW_TITLE>
使用事件 moniker (http://event/?EventName=<EVENT_NAME>&key=value&key=value&…),在 Dynamics 365 中使用 JavaScript 來叫用 Unified Service Desk 的事件時,您可以使用 window.IsUSD 屬性決定在叫用事件時 JavaScript 程式碼是否正在 Unified Service Desk 中執行。 下列程式碼範例可包含使用您的 JavaScript 程式碼,確認事件只在有呼叫的 JavaScript 正在 Unified Service Desk 中執行時叫用。
if ((window.IsUSD != null) && (window.IsUSD == true))
{
window.open(http://event/?EventName=<EVENT_NAME>&key=value&key=value&…);
}
另請參閱
活動
託管控制項型別和動作/事件參考
管理託管控制項、動作和事件
MSDN:使用 JavaScript 搭配 Microsoft Dynamics CRM
Unified Service Desk 2.0
© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權