この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

DuplicateError クラス

重複レコードを保存しようとして発生したエラーに関する情報が含まれます。組織に重複ルール (重複管理機能の一部) が設定されている場合に使用します。

名前空間

Database

重複ルールによって重複レコードと識別されたレコードを保存しようとすると、重複エラーが発生します。重複ルールに許可アクションが含まれている場合は、エラーをスキップして保存できます。
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()

戻り値

型: Datacloud.DuplicateResult

この例では、新規取引先責任者を保存した後に重複候補および関連する一致情報を取得するために使用するコードを示します。このコードは、ユーザが取引先責任者を追加するときの重複管理を実装するカスタムアプリケーションの一部です。このサンプルアプリケーション全体を確認するには、「DuplicateResult クラス」を参照してください。

1Datacloud.DuplicateResult duplicateResult = 
2                            duplicateError.getDuplicateResult();

getFields()

1 つ以上の項目名の配列を返します。オブジェクト内の項目でエラー条件に影響を与えるものが存在する場合、その項目を示します。

署名

public List<String> getFields()

戻り値

型: List<String>

getMessage()

エラーメッセージのテキストを返します。

署名

public String getMessage()

戻り値

型: String

getStatusCode()

エラーを特徴付けるコードを返します。

署名

public StatusCode getStatusCode()

戻り値

型: StatusCode