当工作流更新记录CRM 2011时,不会触发PlugIn

时间:2014-03-20 15:01:38

标签: c# dynamics-crm-2011 crm dynamics-crm-4 dynamics-crm-online

我在实体上有一个插件并注册了更新步骤。但是当我通过工作流更新实体记录时,就没有触发PlugIn。我在下面描述了整个执行程序。

  1. 我有一个PlugInA,它在创建EntityA记录时开始执行。
  2. PlugInA在另一个实体中创建一条记录,说EntityB会导致PlugInB被触发。
  3. 在触发时,PlugInB以编程方式触发工作流程说WorkflowA。 WorkflowA等待某个超时日期。
  4. On time out,WorkflowA更新EntityB记录。因此,在这种情况下,应该触发PlugInB但是没有发生(PlugInB不会开始执行)。
  5. 请让我知道上述整个程序中的问题。

    请注意,我使用的是CRM 2011.此外,如果我手动更新EntityB中的记录,那么PlugInB触发

2 个答案:

答案 0 :(得分:1)

为什么会发生这种情况有很多可能性。最有可能的是,您在EntityB的工作流程A中所做的任何更新都不会更新PluginB注册中的属性以使其触发。

其他可能性包括WorkflowA实际上没有触发,或PluginB触发,也许没有做任何事情。

答案 1 :(得分:1)

通常情况下 - 导致插件无法触发的原因是由于上下文深度以及与工作流的异步性质相关的其他项目。如果你打算从工作流程中触发一个插件,那么上下文深度会增加......你还需要确保你的插件不会一遍又一遍地调用自己,所以我建议你使用一个没有的预操作插件做深度检查,不能重新触发。

但是 - 再次 - 这可能是插件中的上下文深度检查,如果你这样做或与之相关的东西。