微软CRM4.0 页面表单和腾讯QQ在线整合
现在通过QQ和客户联系、洽谈业务及沟通感情的场合越来越多,在微软CRM表单上整合QQ可以方便的显
示客户QQ在线状态,点击图标即可和客户进行QQ聊天。
客户在线状态:

客户离线状态:

输入QQ号码后即时显示在线状态,点击QQ图标后,如果你的QQ程序已经登陆,立即显示QQ对话框,如果
你的QQ程序没有登陆,就会显示QQ登录窗口,登录后就显示对话框,就可以和客户聊天了。如果在
MSCRM中新建一个QQ聊天实体,就可以保存客户的每次聊天内容了。
开发源代码:
1、进入MSCRM4.0“自定义”,进入联系人实体建立两个属性 ,你可以输入自己的名称,不过在代码处要
做相应修改。
显示名称 名称
QQ号码 qq
QQ交谈 qqimage
注意:名称的前缀可能是你默认设置的,在下面的代码处要修改相应的前缀名称。
2、添加这两个属性到你的联系人表单。

3、点击“表单属性”,然后添加“onload”代码:
if (crmForm.all.new_qq.DataValue != null)
{
var qq=crmForm.all.new_qq.DataValue ;
var field = crmForm.all.new_qqimage_d; var html = "<table border='0' cellspacing='0' cellpadding='0'><tr><img width='77' height='17' style='cursor:hand' src='http://wpa.qq.com/pa?p=1:"+crmForm.all.new_qq.DataValue+":16' alt="+qq+" onclick='Button_OnClick()' /></tr></table>"; field.innerHTML = html;
}
else
{
var field = crmForm.all.new_qqimage_d; var html = "<table border='0' cellspacing='0' cellpadding='0'><tr><img width='77' height='17' style='cursor:hand' src='http://wpa.qq.com/pa?p=1:00000:16' alt='填写QQ号码' onclick='Button_OnClick()' /></tr></table>";
field.innerHTML = html;
} Button_OnClick = function()
{
if(crmForm.all.new_qq.DataValue != null)
{
var qq=crmForm.all.new_qq.DataValue ;
var url="tencent://message/?uin="+qq+"&Site=N&Menu=yes";
var newWin=window.open(url,'','resizable=no,height=3,width=3,toolbar=no,menubar=no,scrollbars=no,location=no,left=10000,top=10000');
setTimeout(function(){self.focus(); },0);
}
}
4、点击“QQ号码”字段添加“OnChange”代码:
注意:代码里面的字段名称和前缀和你的不一样,你需要做相应修改。
if (crmForm.all.new_qq.DataValue != null)
{
var qq=crmForm.all.new_qq.DataValue;
var field = crmForm.all.new_qqimage_d; var html = "<table border='0' cellspacing='0' cellpadding='0'><tr><img width='77' height='17' style='cursor:hand' src='http://wpa.qq.com/pa?p=1:"+crmForm.all.new_qq.DataValue+":16' alt="+qq+" onclick='Button_OnClick()' /></tr></table>";
field.innerHTML = html;
}
else
{
var field = crmForm.all.new_qqimage_d; var html = "<table border='0' cellspacing='0' cellpadding='0'><tr><img width='77' height='17' style='cursor:hand' src='http://wpa.qq.com/pa?p=1:00000:16' alt='填写QQ号码' onclick='Button_OnClick()' /></tr></table>";
field.innerHTML = html;
}
5、保存和发布“联系人”实体,你就能看到MSCRM和QQ实时整合的状态了。
ps:如果用了上述方法发现QQ图标显示为未启用,如图

这种情况是因为输入的QQ没有启用QQ商家,启用后才能获取在线状态,不过这种情况并不影响打开聊天对话框进行沟通,付QQ商家注册地址
http://shang.qq.com/widget/consult.php,可以一键免费注册,就可以看到在线离线状态了。
微软CRM4.0 页面表单和腾讯QQ在线整合的更多相关文章
- 把JSON数据载入到页面表单的两种思路(对easyui自带方法进行改进)
#把JSON数据载入到页面表单的两种思路(对easyui自带方法进行改进) ##背景 项目中经常需要把JSON数据填充到页面表单,一开始我使用easyui自带的form load方法,觉得效率很低,经 ...
- SpringMVC接收页面表单参数-java-电脑编程网
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- 使用JQuery.Validate插件来校验页面表单有效性
使用JQuery.Validate插件来校验页面表单有效性1. [代码] 常见的注册表单元素 <form action="#" method="post" ...
- html 页面表单如果是disabled,则不能提交到服务器端,request.getParameter得到的将为null
html 页面表单如果是disabled,则不能提交到服务器端,request.getParameter得到的将为null 解决方法:使用hidden 利用javascript赋值,传递到后台
- 记录ASP.NET页面表单初始状态(主要是为了前台可以根据这个判断页面是否变动了)
把页面表单状态记录到HiddenField中. 这里只提供后台代码, 前台逻辑根据需求自由定义. 存放值的ViewState: protected Dictionary<string, stri ...
- JavaScript学习——使用JS完成注册页面表单校验
1.步骤分析 第一步:确定事件(onsubmit)并为其绑定一个函数 第二步:书写这个函数(获取用户输入的数据<获取数据时需要在指定位置定义一个 id>) 第三步:对用户输入的数据进行判断 ...
- PDF 补丁丁 0.5.0.2731 发布(增加去除页面表单和链接水印功能)
新的版本增加了简单的删除表单和链接批注的功能,使用该功能可去掉某些软件打上的水印. 在 PDF 文档选项中选中“清除页面所有表单”和“清除页面所有链接批注”项后,程序将会删除页面的表单和链接批注. 效 ...
- HTML 之 Web页面表单form中只有一个input的text元素,按回车默认提交
WEB开发中,如果页面的 form 中只有一个input元素,在该input元素的输入框中按回车(注:此时并没有写对应的onkeydown等事件处理),则浏览器会默认提交表单,请看如下代码: < ...
- SpringMVC接收页面表单参数
一个普通的表单. 表单的代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8&q ...
随机推荐
- Flask - WTF和WTForms创建表单
目录 Flask - WTF和WTForms创建表单 一. Flask-WTF 1.创建基础表单 2.CSRF保护 3.验证表单 4.文件上传 5.验证码 二. WTForms 1. field字段 ...
- PAT 1099. Build A Binary Search Tree (树的中序,层序遍历)
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...
- 《hello-world》第八次团队作业:Alpha冲刺-Scrum Meeting 4
项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺 团队名称 <hello--worl ...
- 【IntelliJ IDEA】idea上安装Translation插件后,需要AppKey才能生效的解决方案
使用idea安装的翻译插件translation,但是使用的时候并不友好 无奈,如果想使用翻译软件并且更方便的话,可以如下: 可以选择将translation进行卸载 清除缓存并进行重启 然后再启动之 ...
- 费用最少的一款赛门铁克SSL证书
Symantec Secure Site SSL证书,验证域名所有权和企业信息,属于Symantec Class 3企业(OV)验证 级SSL证书,为40位/56位/128/256位自适应加密,目前连 ...
- CDOJ 888 Absurdistan Roads
Absurdistan Roads Time Limit: 5678/3456MS (Java/Others) Memory Limit: 65432/65432KB (Java/Others ...
- PHP array_intersect_key()
定义和用法 array_intersect_key() 函数使用键名比较计算数组的交集. array_intersect_key() 返回一个数组,该数组包含了所有出现在被比较的数组中并同时出现在所有 ...
- webservices系列(五)——javaweb整合Axis2及多service配置
1.新建一个项目动态web项目webservice_test3. 2.打开<Tomcat安装目录>webapps/axis2/WEB-INF.将lib.conf.modules三个目录复制 ...
- hibernate之关于一对一单向,双向关联映射
[hibernate]之关于一对一单向,双向关联映射 首先我们来看,Hibernate官方对于一对一单向关联的解释: 基于外键关联的单向一对一关联和单向多对一关联差点儿是一样的. 唯一的不同就是单向一 ...
- mac下安装tensorflow及入门例子
https://www.tensorflow.org/install/install_mac 使用virtualenv安装,virtualenv相当于使tensorflow运行在虚拟机环境下. 需要使 ...