Dynamics CRM统一服务台弹出结果

时间:2016-04-22 10:42:37

标签: dynamics-crm unified-service-desk

我们正在使用带有2.0美元的Dynamics CRM 2016,并且在系统返回结果时遇到弹出窗口问题。

有几个地方我们在新窗口中打开webresources(作为浮动面板),在新窗口中做一些工作然后需要与父窗口交互来设置一些字段。

这在浏览器中使用window.open和window.parent.Xrm ...来完美地设置值。但是在USD中,window.parent变量为null,我们找不到任何其他方法来让父窗口设置值。

任何帮助或示例都将不胜感激。

1 个答案:

答案 0 :(得分:1)

这可能是一个由两部分组成的挑战。第一个挑战涉及确保您的Web资源实际上是在美元内,在托管控件而不是外部浏览器窗口中加载。第二个挑战涉及所涉及的托管控制之间的通信,一旦所有事情都发生在美元内。

在USD中,如果window.open正在启动外部浏览器窗口,那么您的窗口导航规则(或缺少窗口导航规则)允许您的Web资源导航离开USD。要在此处根据需要传递值,必须使用窗口导航规则来控制此类导航。定义一个存在于FloatingPanel上的托管控件,并试验规则,直到您的Web资源按需加载。

如果Web资源正在托管控件中加载,那么它只需要说美元。当返回值时,检查window.IsUSD,并引发自定义事件:

https://msdn.microsoft.com/en-us/library/dn864970.aspx#EventMoniker

这将允许您编写可以使用Event的键值对的Action Calls,这些键值对在事件期间可以使用[[replacement syntax]]访问。这些Action Calls可以在你的“父”控件上运行RunXrmCommand(美元只是将其视为一些其他非父托管浏览器),因此你的返回值最终可以找到它们的路径。