【问题标题】:How to unmerge records which are merged from D365 OOB feature?如何取消合并从 D365 OOB 功能合并的记录?
【发布时间】:2019-10-31 07:20:47
【问题描述】:

如何取消合并从 D365 OOB 功能合并的记录?有没有自定义代码解决方案?

【问题讨论】:

标签: dynamics-crm customization microsoft-dynamics dynamics-crm-365


【解决方案1】:

不幸的是,在任何 OOB 选项和 AFAIK 中都无法实现取消合并,没有可用的社区解决方案。

由于这完全是一个罕见的要求,我们可以为此构建一些控制台应用程序。

我们知道主记录将在合并后获取/复制所有从属记录字段值(基于合并屏幕中的选择),从属记录将被停用(仍仅保留其原始字段值)。所有相关记录将重新映射到主记录。所以我们必须对所有这些进行逆向工程才能取消合并。

From my research,看起来停用的从属记录将作为masterid 字段中的链接保存主记录。我们必须使用下面的查询提取所有这些记录并遍历每条记录,然后实现我们想要的。

<fetch>
  <entity name="contact" >
    <attribute name="fullname" />
    <attribute name="merged" />
    <attribute name="masterid" />
    <filter>
      <condition attribute="merged" operator="eq" value="1" />
    </filter>
  </entity>
</fetch>

【讨论】:

  • 同意 Arun,取回相关记录似乎是最棘手的部分。如果启用了审核,您表面上可以解析审核日志以查找先前的父记录。
  • @Aron,也是这么想的。否则是 XrmToolBox 插件的更好候选者:)
  • 感谢您的建议..如何识别哪些字段数据已合并并且需要回滚这些数据?如果可能,您能否提供一些示例代码。
  • @Krishna 这在 SO 中太宽泛了。 :) 如果可用,您必须从 Audit 中提取详细信息并将其放回。事实上,这是一个巨大的项目......从上面的代码开始,在互联网上搜索审计样本,阅读大量关于 CRM 基础知识的博客以及如何做。
猜你喜欢
  • 2015-05-10
  • 1970-01-01
  • 2021-01-24
  • 1970-01-01
  • 2021-10-05
  • 2017-05-27
  • 2019-10-14
  • 1970-01-01
  • 2016-12-31
相关资源
最近更新 更多