现在通过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+"&amp;Site=N&amp;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在线整合的更多相关文章

  1. 把JSON数据载入到页面表单的两种思路(对easyui自带方法进行改进)

    #把JSON数据载入到页面表单的两种思路(对easyui自带方法进行改进) ##背景 项目中经常需要把JSON数据填充到页面表单,一开始我使用easyui自带的form load方法,觉得效率很低,经 ...

  2. SpringMVC接收页面表单参数-java-电脑编程网

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  3. 使用JQuery.Validate插件来校验页面表单有效性

    使用JQuery.Validate插件来校验页面表单有效性​1. [代码] 常见的注册表单元素 <form action="#" method="post" ...

  4. html 页面表单如果是disabled,则不能提交到服务器端,request.getParameter得到的将为null

    html 页面表单如果是disabled,则不能提交到服务器端,request.getParameter得到的将为null 解决方法:使用hidden 利用javascript赋值,传递到后台

  5. 记录ASP.NET页面表单初始状态(主要是为了前台可以根据这个判断页面是否变动了)

    把页面表单状态记录到HiddenField中. 这里只提供后台代码, 前台逻辑根据需求自由定义. 存放值的ViewState: protected Dictionary<string, stri ...

  6. JavaScript学习——使用JS完成注册页面表单校验

    1.步骤分析 第一步:确定事件(onsubmit)并为其绑定一个函数 第二步:书写这个函数(获取用户输入的数据<获取数据时需要在指定位置定义一个 id>) 第三步:对用户输入的数据进行判断 ...

  7. PDF 补丁丁 0.5.0.2731 发布(增加去除页面表单和链接水印功能)

    新的版本增加了简单的删除表单和链接批注的功能,使用该功能可去掉某些软件打上的水印. 在 PDF 文档选项中选中“清除页面所有表单”和“清除页面所有链接批注”项后,程序将会删除页面的表单和链接批注. 效 ...

  8. HTML 之 Web页面表单form中只有一个input的text元素,按回车默认提交

    WEB开发中,如果页面的 form 中只有一个input元素,在该input元素的输入框中按回车(注:此时并没有写对应的onkeydown等事件处理),则浏览器会默认提交表单,请看如下代码: < ...

  9. SpringMVC接收页面表单参数

    一个普通的表单. 表单的代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8&q ...

随机推荐

  1. PAT 1118 Birds in Forest

    Some scientists took pictures of thousands of birds in a forest. Assume that all the birds appear in ...

  2. Huawei-R&S-网络工程师实验笔记20190525-设备登录、VRP基本配置、文件系统

    >Huawei-R&S-网络工程师实验笔记20190525-设备登录.VRP基本配置.文件系统(环回接口.telnet远程.AAA登录.命令行.时钟.banner.文件目录) >& ...

  3. Django——3 模板路径 模板变量 常用过滤器 静态文件的使用

    Django 模板路径 模板变量 过滤器 静态文件的加载 模板的路径,有两种方法来使用 设置一个总的templates在大项目外面,然后在sittings的TEMPLATES中声明 在每一个APP中创 ...

  4. 种树(codevs 1768)

    题目描述 Description 为了绿化乡村,H村积极响应号召,开始种树了. H村里有n幢房屋,这些屋子的排列顺序很有特点,在一条直线上.于是方便起见,我们给它们标上1~n.树就种在房子前面的空地上 ...

  5. kendo Grid json解析的问题

    新建立了一个 页面,在grid中使用了dropdownlist,总是显示companyId is not defined ,以前这个问题解决过了,忘记记录了额,现在不知道怎么办了 下面的这个解决方法是 ...

  6. kendo Grid Unexpected number错误

    这种用了自定义function来代替默认的就需要把所有的created,update等都替换掉,不能只替换部分

  7. x$bh视图

    首先,这篇文章是基于如下ORACLE版本. BANNER ------------------------------------------------ Oracle Database 10g En ...

  8. 对扩展openflow协议的一点思考

         软件定义X变得越来越火,正所谓,Software is eating the world. 软件定义网络也是如此.不论是在工业界还是学术界都将是一次伟大的革命,都在紧随着这个行业的方向,找自 ...

  9. springboot-quartz 实现动态添加,修改,删除,暂停,恢复等功能

    任务相关信息:springboot-quartz普通任务与可传参任务 一.任务实体类 package cloud.app.prod.home.quartz; import java.io.Serial ...

  10. MVC + Redis

    net MVC + Redis(hash入库+log4net集成) https://www.cnblogs.com/hoyu/p/9063675.html 博客四元素 既然要写一个博客类的网站,那就应 ...