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. spring的IOC底层原理

    我们调用一个类的方法,首先是User user=new  User(),对象调用这个方法,user.add(),这种方法有一个缺陷就是代码的耦合度太高,比如你的servlet调用User类里的方法,需 ...

  2. python009 Python3 列表

    Python3 列表序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推.Python有6个序列的内置类型,但最常见的是 ...

  3. XV6调度

    调度 任何操作系统都可能碰到进程数多于处理器数的情况,这样就需要考虑如何分享处理器资源.理想的做法是让分享机制对进程透明.通常我们对进程造成一个自己独占处理器的假象,然后让操作系统的多路复用机制(mu ...

  4. String painter(区间DP)

    There are two strings A and B with equal length. Both strings are made up of lower case letters. Now ...

  5. 0元免费领《JAVA日志》教程,天啦噜!

    天啦,老码疯了!辛辛苦苦,费心费力准备的<java日志实战及解析>教程真的不要钱了吗? 作为添物网的小编,每天看着老码为了给大家录制课程,加班加点的做课件,为了保证课程的质量,老码一遍又一 ...

  6. C#排序1(冒泡排序、直接排序、快速排序)

    冒泡排序:就是两个两个的这个比较好理解,代码也比较好写出来. 它的原理就是相邻的两个两个的比较,如果前面的数比后面的大,那么交换,它这个在比较完一次的时候可以得到最大的一个数,然后接着循环,每次外循环 ...

  7. 一篇文章告诉你,TLS 1.3 如何用性能为 HTTPS 正名

      序•魔戒再现   几天前,OpenSSL 官方宣布即将发布的新版本 (OpenSSL 1.1.1) 将会提供 TLS 1.3 的支持,而且还会和之前的 1.1.0 版本完全兼容,这当然是个好消息. ...

  8. Codeforces Round #277 (Div. 2 Only)

    A:SwapSort http://codeforces.com/problemset/problem/489/A 题目大意:将一个序列排序,可以交换任意两个数字,但要求交换的次数不超过n,输出任意一 ...

  9. 【分段哈希】H. Paint the Wall

    https://www.bnuoj.com/v3/contest_show.php?cid=9147#problem/H [题意] 在一个长为H,宽为W的白墙上选一个矩形区域涂颜色,后涂的颜色会覆盖先 ...

  10. C++常见函数(备忘录)

    substr(string的成员函数) 语法: basic_string substr( size_type index, size_type num = npos ); substr()返回本字符串 ...