1.将Retrive 方法改成 RetrieveMultiple时 如果指定的ColumnSet 没有指定主键(entiryname+id),要显示增加实体的主键.否则在调用 Retrieve方法时返回的Entity中有Id值,而RetrieveMultiple返回值中不会有Id值。

2.CRM中的实体Assign 操作会引发Update 插件,所以应该在Update插件中判断是不是由分派引发,避免误操作

 if (context.Depth > 1 ) {
}

3,需要在前期插件给记录填充值的时候需要注册CRM2011的验证阶段,注册到事务阶段则不会对结果有影响

4,修改插件中的参数 context.InputParameters["Target"]赋值时只能用户后期代码赋值,如果用强类型就是批的CRM里的后期代码写法赋值就会报错。

5.CRM 2011在定义工作流时的时候,插入创建或者更新记录步骤时,不能给表单上设置只读属性的字段赋值。

6.如果在自己电脑上开发CRM,用SDK连接CRM时,本地时间和服务器时间要保持一致,相差超过5分钟则不能和CRM交互(增、删、改、查)。

7.开发脚本时,使用CRM的 Xrm.Page.context.getServerUrl() 方法时,需要注意用户访问CRM的方式是不是统一使用安装CRM时产品的路径,否则就会报错,建议重写CRM的Xrm.Page.context.getServerUrl()方法,或者不用自带的方法获取路径,用下面脚本代替

 window.location.protocol + "//" + window.location.host + "/" + Xrm.Page.context.getOrgUniqueName() + "/xrmservices/2011/organizationdata.svc";

 

8.调用SDK是一定要注意大小写,后期邦定的代码全部小写。由于早期邦定的代码编译是会有较验,大小写的错误在编译阶段就能检查出来,所以使用后期邦定的代码要注意。

9.前台JS脚本使用CRM REST时也要注意大小写,使用的CRM的Scheme 名称对大小写敏感。

10 如果是角色权限的错误,为了快速判断用户是缺少那项权限可以参考每个权限对应的设置参照下面的URl:http://msdn.microsoft.com/en-us/library/gg334308.aspx

11 调用共享权限时报错 only owner can revoke the owner access. 这个取消共享的错误.是因为如果把记录共享给记录的Owner在取消共享时会报错.

12 在开发自定义工作流的时候,由于引用的System.ServiceModel,导致加载自定义工作流失败。

13 自定义实体的Robin按纽的时候,由于实体名相近,导致改到错误的实体名上了。悲剧

CRM 2011 开发中遇到的问题小结的更多相关文章

  1. Java Web 开发中路径相关问题小结

    Java Web开发中路径问题小结 (1) Web开发中路径的几个基本概念 假设在浏览器中访问了如下的页面,如图1所示: 图1 Eclipse中目录结构如图2所示: 图2 那么针对这个站点的几个基本概 ...

  2. Microsoft Dynamics CRM 2011 Plugin中PluginExecutionContext.InputParameters["Target"]中的Target是从哪来的?

    图 1 如图1,CRM编程是一个请求响应模型,任何操作都是通过一个Request发起,一个Response返回结果,这个模型简单实用.所有请求类都是继承OrganizationRequest,所有响应 ...

  3. novaclient开发中遇到的问题小结

    1. 使用官网实例代码,并不能新建client; from novaclient import client nova = client.Client(VERSION, USERNAME, PASSW ...

  4. Dynamics CRM - 在 Dynamics CRM 开发中创建一个 Entity 对象

    在 Dynamics CRM 的开发中,我们时不时需要创建 Entity 对象,而对于如何创建 Entity 对象,在 C# plugin 和 JS 的写法存在些许差异. 一.C# Plugin 创建 ...

  5. Dynamics CRM 2011编程系列(60):JS编程之CRUD辅助类(JQuery版)

    今天给大家分享一个JQuery版的REST辅助类,在一年前我分享过一个只能在IE环境下运行的REST辅助类:<JS编程之实体CRUD辅助类 >.为什么要推出JQuery版的CRUD辅助类呢 ...

  6. Dynamics CRM 插件Plugin中获取和更新时间字段值的准确转换

    前面两篇介绍了后台代码通过组织服务获取更新时间字段.窗体javascript通过Odata获取更新时间字段,最后篇来实验下在插件中的获取和更新时间字段是否需要时制的转化,为何说是最后篇呢,因为在CRM ...

  7. MS CRM 2011的自定义和开发(11)——插件(plugin)开发(三)

    http://www.cnblogs.com/StoneGarden/archive/2012/02/06/2340661.html MS CRM 2011的自定义和开发(11)——插件(plugin ...

  8. MS CRM 2011的自定义和开发(11)——插件(plugin)开发(四)

    http://www.cnblogs.com/StoneGarden/archive/2012/02/08/2343294.html MS CRM 2011的自定义和开发(11)——插件(plugin ...

  9. MS CRM 2011的自定义和开发(11)——插件(plugin)开发(一)

    http://www.cnblogs.com/StoneGarden/archive/2012/02/02/2336147.html MS CRM 2011的自定义和开发(11)——插件(plugin ...

随机推荐

  1. linux中的grep命令用法

    原文请移驾:http://blog.csdn.net/greytree/article/details/428532 grep -- print lines matching a pattern (将 ...

  2. LINUX常见小问题汇总

    1. crontab的备份与恢复 备份crontab文件: crontab -l > $HOME/mycron 恢复丢失的crontab文件: 如果不小心误删了crontab文件,假设你在自己的 ...

  3. Java学习之跳转语句

    Java语言中提供3中跳转语句,分别是break语句.continue语句和return语句. break语句 可以用在switch语句中.在switch语句中,break语句用于中止下面的case语 ...

  4. 【转】关于大型网站技术演进的思考(十三)--网站静态化处理—CSI(5)

    讲完了SSI,ESI,下面就要讲讲CSI了 ,CSI是浏览器端的动静整合方案,当我文章发表后有朋友就问我,CSI技术是不是就是通过ajax来加载数据啊,我当时的回答只是说你的理解有点片面,那么到底什么 ...

  5. 关于Linux内核学习的一点点总结

    关于Linux内核学习的一点点总结 关键词:Linux, 操作系统,内核 博客列表 由反汇编C程序来理解计算机是如何工作的 通过分析一个简化版时间片轮转多道程序内核代码来认识操作系统中的进程调度 通过 ...

  6. windows7 下安装使用memcached(二)

    Memcached 安装使用 本地环境:Windows7 64位web环境:wamp集成环境,php版本:PHP Version 7.1.17 学习参考网站: RUNOOB.COM官网  http:/ ...

  7. SQL SERVER 2012 第四章 连接 JOIN の INNER JOIN

    所有JOIN语句的共同点是:将一个记录与另外一个或多个记录匹配,从而生成一个新记录,这个记录是由两个记录的合并列所产生的一个超集. 内部连接: 内部连接语法结构:SELECT <select l ...

  8. lombok注解简化实体类getting 和 setting 方法

    实体类注解,将以往的get/set方法简化为标签注解,让代码看着更简洁. Maven依赖: <dependency> <groupId>org.projectlombok< ...

  9. activiti eclipse 插件不自动生成png

    看下图,是不是很简单?

  10. linux定时重启节约内存

    linux服务器上运行的一些程序,比较消耗内存,需要定时重启,进行内存定期释放 0 2 * * *  sudo /sbin/reboot && echo $(date) '重启成功' ...