1
我有一個在停用記錄時觸發的插件。CRM 2016停用插件在記錄合併時不會觸發
下面是代碼 -
if (context.InputParameters.Contains("EntityMoniker") && context.InputParameters["EntityMoniker"] is EntityReference)
{
EntityReference EntityRef = (EntityReference)context.InputParameters["EntityMoniker"];
//code continues
}
,我已經註冊了SETSTATE和SetStateDynamicEntity步驟的插件。
插件在記錄直接激活或停用時觸發。但是,當兩條記錄合併時,另一條記錄被取消激活,此時停用插件不起作用。
來自同一博客收到建議後 -
我註冊了相同的插件與代碼中的一些修改,在「合併」事件。
下面是代碼 -
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個MergeRequest會觸發。然後,您可以查看[MergeRequest.SubordinateId](https://msdn.microsoft.com/en-us/library/microsoft.crm.sdk.messages.mergerequest.aspx)以獲取將被停用的記錄的GUID合併期間。 –
好吧,你的意思是我需要在合併事件上註冊插件,然後在插件代碼中找到subordinateid? –