2015-10-22 46 views
0

在crm我有几个实体的解决方案。有三个导致问题。让我们称之为A,B和Ccrm级联删除不启动插件

A和B有一个与删除

B和C的级联效应一对多的关系有一个一对多的关系没有级联删除。

对于B我开发了一个crm插件,删除时它也删除了C。一种级联删除插件。我无法在B和C之间创建级联,因为C已经与另一个实体处于级联关系。

当我删除任何实体B时,它会关闭插件代码并删除C的所有子项。当我删除任何实体A时,级联删除B,但它不会触发插件。

我怎样才能确保插件没有为实体A创建插件而触发?我在crm方面很新,所以我不知道在哪里寻找这种问题。

UPDATE

用于击发在 '预验证' 阶段的插件。将其更改为“预操作”实际上会导致插件启动。不幸的是,在这个阶段,所有已经删除的对象的子引用。所以现在当删除A时级联删除,并且插件启动,但我找不到任何它的子实体C引用

回答

0

创建一个对象,它将存储子引用并将其传递到“共享变量”中预验证阶段。然后您可以访问操作前阶段的共享变量:https://msdn.microsoft.com/en-us/library/gg328579.aspx。你需要在两个步骤都注册的插件,但这会处理你的两个挑战。

0

在实体B的删除消息的预操作阶段注册您的插件。然后注册实体的预映像以获得原始查找字段给实体C.