合并记录时,CRM 2016停用插件不会触发

时间:2017-01-02 13:13:48

标签: dynamics-crm-2013 dynamics-crm-2015 dynamics-crm-2016

我有一个在停用记录时触发的插件。

以下是代码 -

if (context.InputParameters.Contains("EntityMoniker") && context.InputParameters["EntityMoniker"] is EntityReference)
            {
                EntityReference EntityRef = (EntityReference)context.InputParameters["EntityMoniker"];

//code continues

}

我已经在SetState和SetStateDynamicEntity步骤中注册了该插件。

直接激活或停用记录时,插件会触发。但是,当合并2条记录时,其他记录将被停用,此时,停用插件不起作用。

在收到同一博客的建议之后 -

我在“Merge”事件的代码中注册了相同的插件并进行了一些修改。

以下是代码 -

 if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is EntityReference)
            {

                EntityReference EntityRef = (EntityReference)context.InputParameters["Target"];


                if (EntityRef.LogicalName != "account")
                    return;


                SubOrdinateRecord = (Guid)context.InputParameters["SubordinateId"];

然而,在我获得下属记录后,我需要获取其相关记录并将其停用

但是我无法获得相关记录。

请建议。

1 个答案:

答案 0 :(得分:0)

您的观察结果是正确的。 MergeRequest不会触发SetStateRequest,因此您必须在两条消息上注册插件。