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. Vijos 1308 埃及分数(迭代加深搜索)

    题意: 输入a.b, 求a/b 可以由多少个埃及分数组成. 埃及分数是形如1/a , a是自然数的分数. 如2/3 = 1/2 + 1/6, 但埃及分数中不允许有相同的 ,如不可以2/3 = 1/3 ...

  2. 大数据学习——修改主机名和ip的映射关系

    vi /etc/hosts 192.168.1.101 itcast

  3. windows 环境下.Net使用Redis缓存

    Redis简介 Redis是一个开源的,使用C语言编写,面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景.Redis纯粹为应用而产生,它是一个高性能的 ...

  4. Codeforces Round #387 (Div. 2) A+B+C+D!

    A. Display Size 水题,暴力(数据都是水题).0:04 int main() { int n; while(~scanf("%d",&n)) { int mi ...

  5. 用SQLLDR来装载date类型的控制文件

    以前给山东某单位做oracle数据库恢复得时候,恢复出来得数据中包含date类型,当时给客户提供得是sqlldr得方式,因为数据量比较大,用sqlldr装载起来速度比较快,所以采用了这种方式,结果在装 ...

  6. bzoj1086 [SCOI2005]王室联邦 树分块

    [bzoj1086][SCOI2005]王室联邦 2014年11月14日2,6590 Description “余”人国的国王想重新编制他的国家.他想把他的国家划分成若干个省,每个省都由他们王室联邦的 ...

  7. 搭建nexus私服,无法下载相关jar包,报错Repository proxy-mode is BLOCKED_AUTO

    在搭建nexus私服的时候,之前没直接用来下载maven的相关插件jar包,一直可以使用, 结果今天要编译hadoop的时候,在linux上新用maven就报错了,无法下载maven的相关插件(如下) ...

  8. linux日志服务器审计客户端history记录

    https://blog.csdn.net/yanggd1987/article/details/70255179

  9. Linux上设置RAID 10

    RAID 10(又叫RAID 1+0或镜像条带)阵列结合了RAID 0和RAID 1两者的功能特性,从而提供了高性能.容错的磁盘输入/输出操作.在RAID 0中,读取/写入操作跨多个驱动器并路执行:在 ...

  10. 7.1 itertools--高效循环的创建函数

    7. 函数式编程库 本库主要提供了支持函数式编程的函数和类,以及提供通用调用对象. 7.1 itertools--高效循环的创建函数 本模块主要提供了迭代器方面的操作函数,跟语言API.Haskell ...