【发布时间】:2016-04-13 06:51:08
【问题描述】:
我的任务是为从 cm 2013 迁移到 2016 的系统更新 CRM 插件。插件失败,因为它试图将机会状态设置为赢,只需更新字段即可。您需要使用 WinOpporunityRequest 来执行此操作。
逻辑如下:
- 赢得机会后,插件会在机会关闭实体上执行和运行
- 插件创建一个新的自定义实体记录(项目)并更新其他几条记录。
- 通过opportunityclose实体的opportunityid获取当前机会
- 它通过引用新创建的项目记录来更新机会上的字段。
- 更新是通过 Update() 方法完成的。
在 5 时它失败了,因为在 3 时它获得了当前机会,它已经处于获胜状态。如果您尝试使用新状态更新记录,则会失败。
我的问题是,我如何在对机会关闭实体采取行动并仅更新一个字段时获得机会。我不需要设置状态,因为这是在标准 CRM 流程中完成的。
--编辑 获取机会的代码行:
Xrm.Opportunity currentOpportunityObjectToUpdate = serviceContext.CreateQuery<Xrm.Opportunity>().First(x => x.Id == entityRef.Id);
【问题讨论】:
标签: dynamics-crm