【问题标题】:Duplicate Records within CRMCRM 中的重复记录
【发布时间】:2018-11-06 11:29:04
【问题描述】:

我们最近的一个迁移项目出现了严重错误,我们现在有 1000 条重复记录。该公司一直在与他们合作,这使问题变得更糟,因为我们现在拥有的记录具有相同的名称和地址,但可能有不同的联系信息。少数是完全重复的。我们已经开始了手动合并记录的繁琐过程,但这非常慢。任何人都可以提出另一种解决问题的方法吗?

【问题讨论】:

  • 如果迁移是使用批量导入和 CSV 文件执行的,您可以删除每个特定作业导入的所有记录

标签: c# duplicates dynamics-crm dynamics-crm-2011 crm


【解决方案1】:

您可以快速编写控制台应用程序来合并它们并参考 MSDN 示例代码。

Sample: Merge two records

            // Create the target for the request.
            EntityReference target = new EntityReference();

            // Id is the GUID of the account that is being merged into.
            // LogicalName is the type of the entity being merged to, as a string
            target.Id = _account1Id;
            target.LogicalName = Account.EntityLogicalName;

            // Create the request.
            MergeRequest merge = new MergeRequest();
            // SubordinateId is the GUID of the account merging.
            merge.SubordinateId = _account2Id;
            merge.Target = target;
            merge.PerformParentingChecks = false;

            // Execute the request.
            MergeResponse merged = (MergeResponse)_serviceProxy.Execute(merge);

合并两条记录时,您指定一条记录为主记录,Microsoft Dynamics CRM 将另一条记录视为子记录或从属记录。它将停用子记录并将所有相关记录(例如活动、联系人、地址、案例、备注和机会)复制到主记录。

Read more

【讨论】:

    【解决方案2】:

    在@Arun Vinoth 的回答的基础上,您可能想看看可以利用开箱即用的duplicate detection 来获取重复集以应用合并自动化。

    或者,您可以构建自己的欺骗检测,以匹配您知道存在欺骗的各个字段的记录。我已经做过类似的事情来比较跨系统的记录,包括创建匹配代码来模仿 Microsoft 如何在 CRM 中进行重复检测。

    例如,联系人的匹配代码可能是 1. 电子邮件地址 2. 名字、姓氏和公司连接在一起,没有空格。

    如果您需要匹配公司,您可以实现类似 Scribe 的stripcompany 的算法来根据公司名称生成匹配码。

    由于这似乎是一个巨大的问题,您可能需要考虑采取激进的解决方案,例如停用整个受污染的数据集并重新导入干净的数据,然后找到在此期间触及的任何停用的记录以合并它们,然后删除整个污染(停用)的数据集。

    归根结底,所有路径似乎都会让人头疼,唯一的安慰是你可以选择要遵循的路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-10
      • 1970-01-01
      • 2014-11-29
      • 1970-01-01
      • 2013-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多