提前警告:我是Dynamics CRM的绝对新手!
意图
我希望有一个像Lync / Skype集成的功能,但使用我自己的URL . (单击CRM中的任何电话号码并将其调用) .
例如 . 假设我有一个可以按URL启动呼叫的Web服务: http://telephony.com/call?nr=012345678
. 现在,只要CRM用户点击CRM中的电话号码字段(在表单和视图中),就应该调用我的Web服务而不是Skype / Lync .
事实上,我正在尝试重现某事 . 喜欢InGenius Connecter .
尝试
我已经尝试将JS Web资源注入特定的公式(在我的情况下,它是默认的联系表单)并覆盖 Mscrm.ReadFormUtilities.openPhoneClient
回调(它似乎处理Lync / Skype集成) .
function load() {
// override integrated CTC (Lync/Skype)
Mscrm.ReadFormUtilities.openPhoneClient = function (telephoneNr) {
// redirect user to my web service
window.location.replace("http://telephony.com/call?nr="+telephoneNr);
return;
}
}
在以下位置找到此方法:Disable Lync completely
这在Dynamics 2015的形式中运行良好(我的自定义链接弹出而不是Skype / Lync) . 但是,这仅适用于实体表单,因为我无法将Web资源注入实体视图 .
My other ideas how to implement such a feature are:
-
注入禁用Lync / Skype的全局JS资源,并使用指向我的自定义URL的链接封装每个电话号码 .
-
扩展/操作Lync / Skype集成以使用我的自定义URL而不是Lync / Skype .
-
写封装电话号码服务器端的插件 .
问题
由于我掌握了对Dynamics的理解并且没有插件/资源开发的经验,所以我对这些问题感到有些困惑 .
-
是否有可能实现上述三个想法中的任何一个?
-
如果没有,任何想法InGenius如何解决这个问题?
-
您对此主题有任何其他想法/资源吗?
1 回答
目前,我找到了两种可用于实现自定义CTC功能的选项 . (两者都有不受动态crm官方支持的缺点 . )
全球功能区
非常简单:将“Click-To-Call”按钮添加到全局功能区,该功能区仅在选择一行时在特定网格上启用 . 此按钮指的是JS-Action,它通过ODATA检索电话号码,然后启动拨号过程 .
Global Ribbon CustomRule注入
向功能区添加一个全局按钮,该按钮每个
<CustomRule>
引用一个JS资源 . 然后,JScript从具有.ms-crm-Phone
类的链接中取消绑定所有操作,并替换其href属性 .如果想要用他自己的逻辑覆盖集成的“Skype / Lync - Click to Dial”功能,这将非常有用 .
我没有保证它正在工作!
Note: 我会在有空的时候尽快提供示例脚本 .