我有2个自定义实体,例如:CRM内部部署和业务。 建筑物有多个单位/套房号,并且每个单位/套房号都由一家企业占用。 如果建筑单元/套房正在进行装修,则必须暂时关闭该业务。

建筑单位/套房状态更改时,如何自动更新业务开/关? 更新不需要立即进行。 我需要搜索20000条记录以更新正确的业务实体。 此外,业务中还有一些字段,例如从建筑物中检索的开始日期和结束日期,并且关闭持续时间会以结束(减去)开始日期进行更新。

插件是唯一的方法,我如何使用插件实现它! 这将对服务器产生多大的影响,我是中级C#开发人员。 请提供正确方向的任何链接。 环保是2011年本地

非常感谢你 !!!

#1楼 票数:1 已采纳

可以使用插件构建一个简单的解决方案。 同步插件可以立即(在Update消息的PreOperation或PostOperation阶段)甚至在同一数据库事务中,将状态更改更新到业务实体。

一般来说,使用插件可以构建最有效和无缝集成的业务逻辑。

但是,通常您实际上可以使用工作流实现几乎相同的效果。 构建工作流程的一些优点:

  1. 不需要熟练的软件开发人员来构建;
  2. 工作流程可以快速修改(“配置”)。
  3. 工作流的执行可以推迟(例如,直到满足条件或日期已过)。

工作流的一些缺点是:

  1. 在CRM 2011中,您的代码始终在原始数据库事务之外异步运行。
  2. 可能需要一段时间才能采取行动; 用户没有立即得到反馈;
  3. 查询和选择相关数据仅限于n:1关系(从n端到1端,反之亦然);
  4. 工作流的执行需要比插件更多的资源;
  5. 大量使用工作流很容易导致意大利面条系统真正难以维护和表现不佳。

在您的方案中,选择适当的业务记录的要求似乎太复杂而无法在工作流中处理。 在工作流程中,您基本上只能通过遵循手边记录上的查找引用来从一个记录导航到另一个记录。 这意味着只有在存在:1关系并且从n边导航到1边时,您才能从一条记录到另一条记录。

在插件中,您没有此限制; 在那里,您可以编写QueryExpression或Linq查询以获取所需的记录。 因此,对于您而言,插件似乎是我的正确选择。

  ask by hungryjackers translate from so

未解决问题?本站智能推荐:

1回复

如何在DynamicsCRM中插入自动更新日期字段?

我已经为案例实体创建了电子邮件模板。 我想在该模板中插入一个日期字段,以便每当用户要使用该模板时,都必须更新日期字段。 例如,我今天插入了日期,用户将在2014年2月6日使用它。该字段必须自动更新,并且必须向用户显示更新的日期。 我该如何使用它来满足我的要求。 还是周围有工作? 谢
2回复

实体中的比较,添加和更新日期字段

尝试将实体的现有日期与当前日期进行比较。 如果实体(测试性)日期的实体字段(测试域)等于当前日期之后的OR,则在该字段中的日期上添加1年。 问题 -由于某种原因,它会读取所有日期并进行比较,但不会在现场进行更新。 我在实体上使用了后期操作步骤。 更新 :我添加了ServiceCont
2回复

Java脚本功能,用于为实体中的所有记录更新一个字段

目的 :需要使用SOAP或REST使用javascript更新字段。 表单中的可用字段 :Total,Field1,Field2 问题 :我在自定义实体表单Total,Field1,Field2中有三个字段。 我需要添加字段1和字段2来更新总计字段。如果javascript执行方式需要
3回复

CRM实体上的计算字段

我在Dynamics CRM中的帐户和投资组合之间存在1:N关系,即每个帐户都有多个投资组合,每个投资组合都有特定资产。 我正在尝试在帐户表单上创建一个字段,该字段计算帐户的“所有相关投资组合的所有资产”的总和并显示在帐户表单上 作为一种解决方法,我尝试按帐户创建投资组合视图分组,但它不
1回复

使用OrganizationServiceContext更新其他自定义实体

我可以使用现有的OrganizationServiceContext作为插件来更新除当前目标实体以外的实体吗?
1回复

ExecuteMultipleRequest之后如何使用Linq获取更新的实体

因此,我正在使用CRM2011。为了提高性能,我开始使用ExecuteMultipleRequest。 一次创建许多记录时,它可以正常工作。 大! 我的问题是当我完成 并获得ID后面的有效回复,如果我再执行 (基本上查询刚刚创建的对象)我没有得到有效的对象,这意味着它们的ID为空(
1回复

自动填写MicrosoftCRM2011实体中的“名称”字段

我想在Microsoft Dynamics CRM 2011中填写自定义实体的名称字段。我编写了一个将在此实体的onsave触发器中触发的函数。 当不需要此字段时,此功能可以完美工作。 但是他们希望该领域成为企业必不可少的。 因此,当我尝试保存新记录时,会收到一条消息,指出必须填写此字段
2回复

IOrganizationService更新实体的正确方法

我正在研究从C#中更新/检索实体的最佳方法。 我已经阅读了MSDN文档,但是不确定哪种方法/何时使用这两种方法。 所以,我的问题是: 我应该使用: IOrganizationService.Update()并直接更新实体; 要么 IOrganization.Execute