首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法更新自定义实体记录

无法更新自定义实体记录
EN

Stack Overflow用户
提问于 2015-11-30 15:14:57
回答 2查看 287关注 0票数 0

我遇到了CRM联机和自定义实体的问题,其中我无法更新自定义实体中的任何记录。除了无法更新记录之外,我也无法删除记录,这不是什么大不了的事,但还是有点奇怪。

当我试图更新记录时,我会得到以下异常:

代码语言:javascript
复制
The entity cannot be updated because it is read-only.

最初我认为这是因为我没有查询正确的实体,但是能够确认我正在编辑正确的实体,因为我正在做以下操作:

代码语言:javascript
复制
var record = new jol_custom_orders();
record.jol_estimated_ship_date = DateTime.Parse("12/15/2015");
record.jol_purchase_order_id = new EntityReference(SalesOrder.EntityLogicalName, order.Id);
record.jol_account = new EntityReference(Account.EntityLogicalName, CustomerId);
var id = Service.Create(record); 

当我直接从crm获得id并试图更新相同的记录时,这就是我遇到问题的地方。

我正试图更新记录,做以下工作:

代码语言:javascript
复制
var record = (jol_custom_orders)Service.Retrieve(jol_custom_orders.EntityLogicalName, id, new ColumnSet(true));
record.jol_estimated_ship_date = shipDate;
record.jol_estimated_ship_date = estimatedShipDate;
Service.Update(record);

那么,我到底错过了什么,因为我真的迷失了为什么这张唱片现在是只读的。

编辑

我不知道为什么,但是我创建了另一个自定义实体,它的所有字段都是给我带来问题的,而且我能够执行所有crud操作。我对此有点困惑,因为这毫无意义。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-30 15:26:58

听起来你有一个类似于这个海报的问题:"EntityState must be set to null, Created (for Create message) or Changed (for Update message)" when attempting to update an entity in CRM 2011

我发现最好的答案,实际上是一个由user764754以5的优势(目前)。尝试这种设置助手对象的方法,您应该克服这个问题(也可以使用下面的代码)

代码语言:javascript
复制
var newRecord = new jol_custom_orders(){
  Id = id,
  jol_estimated_ship_date = estimatedShipDate
};
Service.Update(newRecord);
票数 1
EN

Stack Overflow用户

发布于 2015-12-01 15:15:27

通常,当您无法对实体执行标准的CRM CRUD操作时,该问题是由同步插件或同步工作流引起的,导致异常并导致事务回滚。我会再次检查您注册的任何自定义插件,以及您所拥有的同步工作流,以查看在您的自定义实体上是否有任何可能导致异常并回滚事务的触发器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34001837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档