Newer Version Available
DuplicateError クラス
名前空間
例
重複ルールによって重複レコードと識別されたレコードを保存しようとすると、重複エラーが発生します。重複ルールに許可アクションが含まれている場合は、エラーをスキップして保存できます。
1// Try to save a duplicate account
2Account duplicateAccount = new Account(Name='Acme', BillingCity='San Francisco');
3Database.SaveResult sr = Database.insert(duplicateAccount, false);
4if (!sr.isSuccess()) {
5
6 // Insertion failed due to duplicate detected
7 for(Database.Error duplicateError : sr.getErrors()){
8 Datacloud.DuplicateResult duplicateResult =
9 ((Database.DuplicateError)duplicateError).getDuplicateResult();
10 System.debug('Duplicate records have been detected by ' +
11 duplicateResult.getDuplicateRule());
12 System.debug(duplicateResult.getErrorMessage());
13 }
14
15 // If the duplicate rule is an alert rule, we can try to bypass it
16 Database.DMLOptions dml = new Database.DMLOptions();
17 dml.DuplicateRuleHeader.AllowSave = true;
18 Database.SaveResult sr2 = Database.insert(duplicateAccount, dml);
19 if (sr2.isSuccess()) {
20 System.debug('Duplicate account has been inserted in Salesforce!');
21 }
22}DuplicateError のメソッド
DuplicateError のメソッドは次のとおりです。
getDuplicateResult()
署名
public Datacloud.DuplicateResult getDuplicateResult()
戻り値
例
この例では、新規取引先責任者を保存した後に重複候補および関連する一致情報を取得するために使用するコードを示します。このコードは、ユーザが取引先責任者を追加するときの重複管理を実装するカスタムアプリケーションの一部です。このサンプルアプリケーション全体を確認するには、「DuplicateResult クラス」を参照してください。
1Datacloud.DuplicateResult duplicateResult =
2 duplicateError.getDuplicateResult();