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. 『NYIST』第八届河南省ACM竞赛训练赛[正式赛一]-CodeForces 237C,素数打表,二分查找

    C. Primes on Interval time limit per test 1 second memory limit per test 256 megabytes input standar ...

  2. 两个很实用很方便的函数核心及用法{(lower_bound)+(max_element))~~

    (1)            关于 lower_bound(a,a+n,x)-a的用法:                                                求x在数组a中的 ...

  3. 在Ignite中使用线性回归算法

    在本系列前面的文章中,简单介绍了一下Ignite的机器学习网格,下面会趁热打铁,结合一些示例,深入介绍Ignite支持的一些机器学习算法. 如果要找合适的数据集,会发现可用的有很多,但是对于线性回归来 ...

  4. [luoguP1627] 中位数(模拟?)

    传送门 水题,怎么评到这个难度的? #include <cstdio> #include <iostream> #define N 200001 int n, b, p, an ...

  5. 【bzoj1055】[HAOI2008]玩具取名

    [bzoj1055][HAOI2008]玩具取名 2014年12月1日3,0111 Description 某人有一套玩具,并想法给玩具命名.首先他选择WING四个字母中的任意一个字母作为玩具的基本名 ...

  6. 【BZOJ1008】越狱(排列组合计数,容斥原理)

    题意: 思路: #include<cstdio> #include<cstdlib> #include<iostream> #include<algorith ...

  7. <转>C#中线程的学习

    原文发布时间为:2008-11-15 -- 来源于本人的百度文章 [由搬家工具导入] http://hi.baidu.com/cyap/blog/category/%B6%E0%CF%DF%B3%CC ...

  8. 洛谷——P1451 求细胞数量

    P1451 求细胞数量 题目描述 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数.(1<=m,n<=10 ...

  9. POJ 1511 【heap+dij】

    题意: t组样例. 每组有n个节点,有m条单向边. 有m组输入,每组a b c 表示从a到b的单向边的权值是c. 求解,从编号为1的节点出发,有n-1个人,要求他们分别到达编号从2到n的节点再返回,所 ...

  10. 51nod 1907(多项式乘法启发式合并)

    题目: 分析: 对于一个确定的生成子图,很明显是在一个连通块上走,走完了再跳到另一个连通块上,假设连通块个数为cnt,那么答案一定是$min(a_{cnt-1},a_cnt,..,a_{n-1})$ ...