FindDuplicates クラス
ルールに基づいて、重複レコードの検索を実行します。入力は sObject の配列です。各 sObject は、重複を検索するレコードを表します。指定されたオブジェクトで有効な重複ルールに基づき、入力 sObject オブジェクトごとに検出された重複が出力で識別されます。
名前空間
FindDuplicates のメソッド
FindDuplicates のメソッドは次のとおりです。
findDuplicates(sObjects)
使用方法
オブジェクトに関連付けられた有効な重複ルールを、入力 sObject が表すレコードに適用するには、FindDuplicates を使用します。
FindDuplicates では、入力 sObject と同じ種別のオブジェクトの重複ルール��使用します。
- 入力
-
- 入力配列内のすべての sObject は同じオブジェクト種別である必要があり、その種別は重複ルールをサポートするオブジェクト種別に対応する必要があります。
- 入力配列は 50 要素までに制限されます。この制限を超えると、例外が発生し、「Configuration error: The number of records to check is greater than the permitted batch size.」 (設定エラー: 確認するレコード数が、許容されているバッチサイズを超えています。) というメッセージが表示されます。
- 出力
-
- FindDuplicates の出力は、入力配列と同じ要素数と順序のオブジェクトの配列です。出力オブジェクトでは、重複レコードのレコード ID がカプセル化されます。出力オブジェクトには重複レコードからの値も含まれます。
- 各要素に DuplicateResult オブジェクトの配列が含まれます。FindDuplicates で重複が検出されなかった場合、DuplicateResult の duplicateRule 項目には、FindDuplicates が適用した重複ルールの名前が含まれますが、matchResults 配列は空です。
例
1Account acct = new Account();
2acct.Name = 'Acme';
3acct.BillingStreet = '123 Fake St';
4acct.BillingCity = 'Springfield';
5acct.BillingState = 'VT';
6acct.BillingCountry = 'US';
7
8List<Account> acctList = new List<Account>();
9acctList.add(acct);
10
11if (Datacloud.FindDuplicates.findDuplicates(acctList).size() == 0) {
12// If the new account doesn't have duplicates, insert it.
13 insert(acct);
14}署名
public static List<Datacloud.FindDuplicatesResult> findDuplicates(List<SObject> sObjects)