findDuplicates()
入力は sObject の配列で、それぞれが検索する値と重複ルールを示すオブジェクトの種別を指定します。重複ルールを示すオブジェクトごとに、検出された重複が出力で識別されます。findDuplicates() はルールを値に適用し、検索を実行します。sObject ごとに、検出された重複が出力で識別されます。
構文
使用方法
オブジェクトに関連付けられた重複ルールを各 sObject で指定された値に適用するには、findDuplicates() を使用します。各 sObject には、オブジェクトに対応する種別もあります。
findDuplicates() では、sObject と同じ種別のオブジェクトの重複ルールを使用します。たとえば、sObject の種別が取引先の場合、findDuplicates() は Account オブジェクトに関連付けられた重複ルールを使用します。
入力 sObject ごとに、findDuplicates() は FindDuplicatesResult オブジェクトを出力配列に追加します。
sObject コントロール一致で指定された値。値にはレコード ID、項目の対応付け、またはその両方が含まれる可能性があります。指定された値によって、findDuplicates() の動作が決まります。
- レコード ID のみ
- findDuplicates() は、重複ルールで定義されたオブジェクトで同じ ID を持つ既存のレコードを検索します。次に、そのレコードから値を読み込み、それらの値に基づいて重複があるか検索します。
- 項目の対応付けのみ
- findDuplicates() は、対応付けから値を読み込み、それらの値に基づいて重複があるか検索します。
- レコード ID と項目の対応付け
- findDuplicates() は、重複ルールで定義されたオブジェクトで同じ ID を持つ既存のレコードを検索します。対応付けで指定されていないレコードから値を���み込み、次に対応付けから値を読み込みます。値の結合結果に基づいて、findDuplicates() は重複があるか検索します。
findDuplicates() の出力は、入力配列と要素数と順序が同じ FindDuplicatesResult オブジェクトの配列です。重複レコードがある場合、出力オブジェクトには、そのレコード ID がカプセル化されます。必要に応じて、出力オブジェクトには重複レコードからの値も含まれます。
各 FindDuplicatesResult 要素には、DuplicateResult オブジェクトが含まれます。findDuplicates() で sObject の重複が検出されなかった場合、DuplicateResult の duplicateRule 項目には、findDuplicates() が適用した重複ルールの名前が含まれますが、matchResults 配列は空です。
DuplicateRuleHeader の includeRecordDetails フラグが false に設定されている場合、findDuplicates() は一致するレコードのレコード ID のみを返します。それ以外の場合、findDuplicates() は対象オブジェクトに関連付けられているプライマリ CompactLayout で指定されたすべての項目を返します。
基本的な使用手順
- 使用する重複ルールを持つオブジェクトに対応する種別の sObject オブジェクトを 1 つ以上作成します。
- 各 sObject で、レコード ID または項目の対応付け (または両方) を指定して、オブジェクトのレコードと比較します。
- 必要な出力を制御するために、DuplicateRuleHeader を設定します。
サンプル
次の Java サンプルは、標準のリード重複ルールを使用してリードの重複を検索する方法を示します。
引数
| 名前 | 型 | 説明 |
|---|---|---|
| sObjects | sObject の配列 | 必須。検索する値が含まれる sObject オブジェクトのリスト。 |
応答
FindDuplicatesResult オブジェクトの配列。
FindDuplicatesResult
入力配列内の 1 つの sObject の重複検索の結果を表します。sObject に関連付けられたオブジェクトには複数の重複ルールを設定できるため、FindDuplicatesResult には DuplicateResult オブジェクトの配列が含まれます。