学习目的
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();
}
}
一起学习,一起进步。如果文章有错,请及时指出,谢谢!