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