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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章