创建用户自定义事件
发布日期: 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 操作或事件对象以运行用户定义的事件。
本主题内容
使用 FireEvent 操作
使用事件对象
使用 FireEvent 操作
所有的预定义和自定义 Unified Service Desk 托管控件(除“CCA 托管应用程序”外),都具有特定的“FireEvent”UII 操作。 您可以调用此操作从该控件启动一个用户自定义事件。 该方法可以方便地将多个调用组成一个调用,在 Unified Service Desk 中有效地创建一个函数。 该方法也是在部署前测试事件及其操作顺序的一种合理方法。
“触发事件” 的第一个参数为事件的名称:
name=MyEvent
所有后续的名称/值对都变为事件的参数,并且可以在被称为结果的操作中作为替换参数。 例如,如果通过以下参数列表:
name=MyEvent
var1=[[account.name]]
这会触发自定义事件“我的事件”事件,从而能够创建操作调用,该操作调用使用如下 var1 参数:
Hosted Control=Some Hosted Control
UII Action=Some action on the Hosted Control
Data=[[var1]]
正如将数据参数传入托管控件操作,这可以传递该事件参数。 在此示例中,这意味着数据参数传入托管控件将会成为来自会话的客户.名称值。
使用事件对象
您可以对托管控件创建自定义事件,然后使用以下事件对象语法调用它:
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>
如果您使用 Dynamics 365 中的 JavaScript 在使用事件对象 (http://event/?EventName=<EVENT_NAME>&key=value&key=value&…)的 Unified Service Desk 中调用事件,当调用事件时,您可以使用 window.IsUSD 属性来确定是否在 Unified Service Desk 下运行 JavaScript 代码。 可以在 JavaScript 代码中包含以下代码示例,以确保只有调用的 JavaScript 在Unified Service Desk 内运行时,才会调用该事件。
if ((window.IsUSD != null) && (window.IsUSD == true))
{
window.open(http://event/?EventName=<EVENT_NAME>&key=value&key=value&…);
}
另请参阅
事件
托管控件类型和操作/事件引用
管理托管控件、操作和事件。
MSDN:通过 Microsoft Dynamics CRM 使用 JavaScript
Unified Service Desk 2.0
© 2017 Microsoft。 保留所有权利。 版权