博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  Microsoft Dynamics CRM

微软Dynamics CRM(Customer Relationship Management)客户关系管理系统
摘要:1.CRM在Insert数据到DB的时候,对时间类型的字段进行了转零时区的操作(对于中国,也就是做了-8H的操作,例如:CreateDate:2013-3-6,但存储在数据库的值是:2013-3-5 16:00:00)。2.CRM在把时间类型的字段值显示到Page的时候,进行了转当前时区的操作(对于中国,也就是做了+8H的操作,同上:数据库存储的2013-3-5 16:00:00,显示到控件也就是2013-3-6)。因此,在Plug-in里面获取时间字段的值,进行处理的时候(比如赋值到其他实体或其他字段),需进行toLocalTime()操作,再赋值。这样会避免被赋值字段Insert到DB时候 阅读全文

posted @ 2013-03-12 23:28 Hamilton Tan 阅读(487) 评论(0) 推荐(0)

摘要:问题1:有谁打过微软最新的补丁,就是可以实现跨浏览器访问的?我们打了之后似乎有问题。能不能分享一下 我这有多个项目打了R12补丁,但除了多浏览器兼容不完善外,没有其他问题。我建议有对修复兼容问题有信心的项目组升级R12,虽然界面变化有些让人不适应,但基本还是按微软WIN8新风格走的(比如FORM界面标题巨大,我是用了WIN8和WP系统的,所以习惯了,但不要认为这是BUG……)。保守点的话,用R11继续做完项目,但做完后尽量别提升R12,也不要提多浏览器,否则会带来比较多的升级工作量。如果已经升级R12,其实是件好事,这意味着以后R13、14升级需要修改的东西已经很少了。:)问题2: r12.. 阅读全文

posted @ 2013-03-12 23:27 Hamilton Tan 阅读(189) 评论(0) 推荐(0)

摘要:自定义的页面,利用Crm中的CrmService 增,删,改,查询时候都字段都要用小写。比如:new_Snnum 要写成new_snnum. 阅读全文

posted @ 2013-03-12 23:09 Hamilton Tan 阅读(261) 评论(0) 推荐(0)

摘要:给窗体禁用的字段设值:contentIFrame.Xrm.Page.getAttribute("字段").setValue("值");contentIFrame.Xrm.Page.getAttribute("字段").setSubmitMode("always");contentIFrame.Xrm.Page.data.entity.save();给lookup设值:/*描述:部品更换单明细窗体上的 选择退料部品按钮 在更换单明细中选择退料单,过滤条件为与更换单网点关联的新件不良换货类型的、并且已更换数量小于收货数 阅读全文

posted @ 2013-01-31 22:59 Hamilton Tan 阅读(246) 评论(0) 推荐(0)

摘要:/*-说明:通用JS函数库创建者:创建时间:2012-05-08-*/// tab键从左到右。windows onload时调用function TabOrderLefttoRight() {for (var i = 0; i 0) {for (var j = 0; j 0) {var filter_roleIds = "";for (var i = 0; i 0) {for (var j = 0; j 0) {return lookupitem[0];}}/*自动展开表单中,对指定lookup字段模糊快速查找后的下拉列表如:showLookupQuickFindList( 阅读全文

posted @ 2013-01-31 22:55 Hamilton Tan 阅读(1259) 评论(3) 推荐(1)

摘要:/*获取查找类型字段值的对象(适用于表单)如:var entityReferent=getEntityReferenceObject(accountid,"account","CRM客户");*/function getEntityReferenceObject(id, entityType, name) { var lookupReference = []; lookupReference[0] = {}; lookupReference[0].id = id; lookupReference[0].entityType = entityType; l 阅读全文

posted @ 2013-01-31 22:54 Hamilton Tan 阅读(375) 评论(0) 推荐(0)

摘要:Microsoft Dynamics CRM 2011 JavaScript Development Cheat Sheet 一、Xrm.Page.context Methods1.getAuthenticationHeader 获取认证表头已弃用。Returns the encoded SOAP header necessary to use Microsoft Dynamics CRM 4.0 web service calls using Microsoft JScript.已弃用。需要使用Microsoft JScript中使用的Microsoft Dynamics CRM... 阅读全文

posted @ 2012-12-25 18:35 Hamilton Tan 阅读(761) 评论(0) 推荐(0)

摘要:一、搭建环境: 安装一个虚拟机,配置CRM2011 环境,具体:Microsoft CRM2011 安装步骤。 本机环境:Microsoft Windows 7,Microsoft Sql Server 2008,Microsoft Visual Studio 2010。 下载MS CRM 2001 SDK http://www.microsoft.com/zh-cn/download/details.aspx?id=24004 找到sdk\tools\developertoolkit 下面的crmdevelopertools_installer.msi 进行安装。 问题:1.创... 阅读全文

posted @ 2012-12-14 18:21 Hamilton Tan 阅读(1869) 评论(0) 推荐(1)

摘要:大家好MSCRM4.0,IFD验证下,自定义aspx页面,获取不到当前的用户ID,出现报错信息:请求因HTTP状态401失败:Unauthorized。麻烦大家帮我看看,谢谢。主要代码如下:#regionMyRegion//////创建CrmService//////protectedCrmServicecreateCrmService(){try{CrmServicecrmService=newCrmService();//实例化CrmServicereturncrmService;//返回}catch(Exceptionex){throwex;}}#endregion#region初始化W 阅读全文

posted @ 2012-11-27 16:26 Hamilton Tan 阅读(601) 评论(1) 推荐(0)

摘要:1.CRM 4 plugin 或服务器端,怎么获取CRM的用户语言编码?javascript 可以通过这个USER_LANGUAGE_CODE获取.比如:如果是英文(1033) 就提示: throw new Exception("Had been submitted information could not cancel!"); 如果为中文编码(2052):throw new Exception("已提交信息无法删除");思路:可以在Plugin中获取SystemUserId,然后,根据这个SystemUserId获取该用户对应的usersetting 阅读全文

posted @ 2012-11-19 22:28 Hamilton Tan 阅读(231) 评论(0) 推荐(0)

摘要:1.Plugin Demo:using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;using Microsoft.Crm.Sdk;using Microsoft.Crm.SdkTypeProxy;using Microsoft.Crm.Sdk.Query;namespace Www.company.Com.Crm40.Plugins{public class SaveMaintainApp:IPlugin{public void 阅读全文

posted @ 2012-11-10 00:02 Hamilton Tan 阅读(657) 评论(0) 推荐(0)

摘要:var header1 = "" + "0" + "" + "LOVOL" + "00000000-0000-0000-0000-000000000000" + ""; soapXml += header1; soapXml += soapBody; soapXml += "";相当于var header1 = GenerateAuthenticationHeader(); 阅读全文

posted @ 2012-11-09 23:56 Hamilton Tan 阅读(251) 评论(0) 推荐(0)

摘要:var mnuBar1 = window.document.getElementById("mnuBar1"); var mnuBar1_UL = mnuBar1.getElementsByTagName("ul"); var mnuBar1_LIs = mnuBar1.getElementsByTagName("li"); if (mnuBar1_LIs != null && mnuBar1_LIs.length > 0) { for (var i = 0; i < mnuBar1_LIs.length; 阅读全文

posted @ 2012-11-09 23:55 Hamilton Tan 阅读(294) 评论(0) 推荐(0)

摘要:window.onload = function () {var mnuBar1t = document.getElementById("mnuBar1");var mnuBar1Ul = mnuBar1t.getElementsByTagName("ul");mnuBar1Ul[0].innerHTML += ""mnuBar1Ul[0].innerHTML += "附件";} html:无标题文档文件菜单(F)打印(P)...关闭(C)操作(A)显示注释电子邮件知识库文章打印...关闭显示注释电子邮件知识库文章 阅读全文

posted @ 2012-11-09 23:51 Hamilton Tan 阅读(489) 评论(0) 推荐(0)

摘要:"get 传到服务器,服务器返回到页面,需要一段时间,有缓存。post 页面数据传到服务器上很快,没有缓存。"对浏览器来说也许是这样.对服务器来说要看具体配置.post 比get 要好些JQuery ajax 建议用post要好些没有哪个好一些. 在http协议里,Get一般是用于获取内容,Post用于提交数据.get是通过url,post是通过http的contentAjax中我们经常用到get和post请求.那么什么时候用get请求,什么时候用post方式请求呢? 在做回答前我们首先要了解get和post的区别.1、 get是把参数数据队列加到提交表单的ACTION属性 阅读全文

posted @ 2012-10-31 22:19 Hamilton Tan 阅读(236) 评论(0) 推荐(0)

摘要:PopupsHandler.ashx:using System;using System.Collections.Generic;using System.Web;using System.Collections;using Microsoft.Crm.Sdk;using Microsoft.Crm.Sdk.Query;using Microsoft.Crm.Sdk.Utility;using Microsoft.Crm.SdkTypeProxy;using Frensworkz.CRM.XCMGCC.Web.Common;namespace Frensworkz.CRM.XCMGCC.Web 阅读全文

posted @ 2012-10-31 22:11 Hamilton Tan 阅读(284) 评论(0) 推荐(0)

摘要:JS代码:item.id = document.getElementById(id).value; myDialogArguments.items = new Array(); if (item.id != "") { myDialogArguments.items[0] = item; } var url = 'http://www.cnblogs.com/_controls/lookup/lookupsingle.aspx?class=BasicOwner&objecttypes=8&browse=0&ShowNewButton=1&am 阅读全文

posted @ 2012-10-31 22:04 Hamilton Tan 阅读(507) 评论(0) 推荐(0)

摘要:C#代码:using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System... 阅读全文

posted @ 2012-10-26 20:19 Hamilton Tan 阅读(307) 评论(3) 推荐(0)

摘要:getcontactid.js 代码://window.onload = getGuid;function getGuid() { var selectValues; var sGuids = ""; if (window.dialogArguments) { selectValues = new Array(window.dialogArguments.length - 1); } else { alert("选择记录"); window.close(); } selectValues = window.dialo... 阅读全文

posted @ 2012-10-25 20:38 Hamilton Tan 阅读(392) 评论(0) 推荐(0)

摘要:http://www.xiazaiba.com/html/7678.html 阅读全文

posted @ 2012-10-25 14:03 Hamilton Tan 阅读(256) 评论(0) 推荐(0)