Apex开发--在Apex class使用Duplicate Rule

学习目的
1,学习在Apex class中使用Duplicate Rule去获取重复记录

在Apex class中使用Duplicate Rule去获取重复记录

你可以使用 DuplicateResult 方法去获取系统中重复的数据。使用Database.SaveResult saveResult = Database.insert(contact, false);
获取成功和失败信息,然后根据报错信息,去获得重复记录id。

for (Database.Error error : saveResult.getErrors()) {
     if (error instanceof Database.DuplicateError) {
         Database.DuplicateError duplicateError = (Database.DuplicateError)error;
         Datacloud.DuplicateResult duplicateResult = duplicateError.getDuplicateResult();

         ApexPages.Message errorMessage = new ApexPages.Message(
                            ApexPages.Severity.ERROR, 'Duplicate Error: ' + 
                            duplicateResult.getErrorMessage());
         ApexPages.addMessage(errorMessage);

         this.duplicateRecords = new List<sObject>();

         Datacloud.MatchResult[] matchResults = duplicateResult.getMatchResults();

         Datacloud.MatchResult matchResult = matchResults[0];
         Datacloud.MatchRecord[] matchRecords = matchResult.getMatchRecords();
     }
}

一起学习,一起进步。如果文章有错,请及时指出,谢谢!

发布了34 篇原创文章 · 获赞 15 · 访问量 4816
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章