Dynamics CRM.更改线 - 注释默认合并关系



我们在Dynamics CRM 2013中存在以下问题。当我们合并两个线索时,通常会合并与这两个线索相关的所有内容,包括注释记录(注释(。问题在于,当票据合并时,它们不会保留他们拥有的原始所有者,而是将其分配给主要的首席所有者。

我知道这是默认情况下,并且没有直接的解决方案,因为即使将关系更改为"可配置级联"时,仍然无法更改删除和合并关系。

,但我想知道是否有任何第三方解决方案可以帮助我们保留所有者,因为否则,当引线合并时,我们不知道谁最初在旧的潜在客户中写下了纸条。

我不知道我是否足够清楚自己的需求,所以我也附加了这个线程,该线程尚未得到答复,并且完全谈论了我们遇到的问题:

https://community.dynamics.com/crm/f/117/t/109936

所以我的问题完全是上述线程中的最后一个答复的完全相同...是否有任何第三方解决方案或插件,我们可以开发它们以保留笔记记录所有权之后?

谢谢

应该可以使用非常简单的插件进行操作 - 只需创建一个插件,该插件将在Note的前日期(注释(上运行。在插件中,您应该能够获取原始消息名称(通过检查父上下文(,这应该是合并消息。如果是合并消息,只需从更新的属性中删除所有者即可。看起来像:

public void Execute(IServiceProvider serviceProvider)
{
    var context = serviceProvider.GetService(typeof(IPluginExecutionContext)) as IPluginExecutionContext;
    if(context.ParentContext?.MessageName == "Merge")
    {
        var target = context.InputParameters["Target"] as Entity;
        target.Attributes.Remove("ownerid");
        target.Attributes.Remove("owningbusinessunit");
    }
}

我只是检查了它的工作正常。当然,为了减少性能影响,您应该使用属性过滤注册此插件并仅在所有者要更改时运行(您在插件注册工具中指定此属性(。

如您所见,插件非常通用,因此您不仅可以在任何实体上注册它