微软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 ...
随机推荐
- Python - 面对对象(进阶)
目录 Python - 面对对象(进阶) 类的成员 一. 字段 二. 方法 三. 属性 类的修饰符 类的特殊成员 Python - 面对对象(进阶) 类的成员 一. 字段 字段包括:普通字段和静态字段 ...
- springcloud(五):Eureka提供数据的客户端连接Docker的mysql
一.提供数据的客户端需要连接数据了,因此需要我们使用mybatis了,等下使用idea生成mybaits和web的依赖 二.提供数据的客户端项目 1.创建项目 2.选择idea自动给我们生成的依赖 3 ...
- N - Corporate Identity
Beside other services, ACM helps companies to clearly state their “corporate identity”, which includ ...
- 计算两个日期之间相差的年数月数天数(JS实现)
前言 如何计算年龄?我的第一直觉做法:(当前时间戳 - 出生时的时间戳)/ (365*86400) 所得结果向下取整.后来发现这种做法获得的结果不准确,不是多了一岁就是少了一岁,不能简单粗暴的这么处 ...
- CCEditBox/CCEditBoxImplMac
#ifndef __CCEditBoxIMPLMAC_H__ #define __CCEditBoxIMPLMAC_H__ #include "cocos2d.h" #if (CC ...
- UVa 642 - Word Amalgamation
题目:给你一个单词列表.再给你一些新的单词.输出列表中又一次排列能得到此新单词的词. 分析:字符串.对每一个字符串的字母排序生成新的传f(str).总体排序,用二分来查找就可以. 说明:注意输出要满足 ...
- 通过buildpath 导入jar和在lib下导入的jar包区别
jar包放置在WEB-INF/lib下和通过build path导入的区别是什么? jar包直接拷贝到WEB-INF/lib下和以userLibrary形式引入的区别? jar包放置在WEB-INF/ ...
- C++智能指针--auto_ptr指针
auto_ptr是C++标准库提供的类模板,头文件<memory>,auto_ptr对象通过初始化指向由new创建的动态内存,它是这块内存的拥有者,一块内存不能同一时候被分给两个拥有者.当 ...
- C++组合通信
#include <iostream> #include<vector> #include<string> using namespace std; class A ...
- [NOIP 2014] 生活大爆炸版石头剪刀布
[题目链接] http://uoj.ac/problem/15 [算法] 按题意模拟即可[代码] #include<bits/stdc++.h> using namespace std; ...