我有一个在停用记录时触发的插件。
以下是代码 -
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"];
然而,在我获得下属记录后,我需要获取其相关记录并将其停用
但是我无法获得相关记录。
请建议。
答案 0 :(得分:0)
您的观察结果是正确的。 MergeRequest不会触发SetStateRequest,因此您必须在两条消息上注册插件。