學習目的
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();
}
}
一起學習,一起進步。如果文章有錯,請及時指出,謝謝!