重複ルールとは
Salesforceレコードを保存する際に、すでに同じレコード(同じデータとして扱いたいレコード)が存在する場合に、重複したレコードが存在することをユーザにアラートしてくれる機能を重複ルールといいます。
重複ルールでは、重複したレコードが存在することを知らせたうえで、保存を許可、またはブロックするか選択することができます。
どのようなレコードを重複レコードとして扱うかは、一致ルールで設定します。
一致ルールとは
重複ルールを作成するために、一致ルールを作成する必要があります。
一致ルールはオブジェクト単位で作成することができ、どの項目が一致するレコードを、重複レコードとして扱うかを設定できます。
また、一致レコードの条件となる項目が未入力の場合、判定対象とするかどうかも設定できます。
作成した一致ルールを有効化することで、重複ルールで使用することが可能となります。
重複ルール設定手順
一致ルールの作成
- 設定のホームから「一致ルール」を選択し、「新規ルール」を押下する

- 一致ルールを適用するオブジェクトを選択し、「次へ」を押下する
※ここでは、こちらの記事で作成したカスタムオブジェクト”テストオブジェクト”を選択
- 一致ルールの基本となる情報を入力(①)し、一致条件を設定して「保存」を押下する
※今回は項目「テストオブジェクト名(Name)」「メール」「電話」の3項目がすべて一致する場合、レコードが一致していると判断するよう設定します
- 「有効化」を押下する

- 有効化の確認ポップアップが表示されるため、「OK」を押下する

- 有効化されると、設定をしたユーザのメールアドレス宛に、下図のようなメールが届きます

重複ルールの作成
- 設定のホームから「重複ルール」を選択し、「新規ルール」⇒オブジェクト名を押下する
※ビュー(下図の赤点線で囲ったところ)でオブジェクトを選択し、「新規ルール」を押下することでも作成できます
- 重複ルールを設定し、「保存」(⑤)を押下する
※レコードレベルセキュリティ(①)は”共有ルールを適用”を選択します。
これにより、ユーザにアクセス権があるレコードのみを見て、重複レコードかどうか判定します。
※アクション(②)では重複したレコードの作成を許可するかどうかを設定できます。
※一致ルール(③)で、あらかじめ作成した一致ルールを選択します。
※条件(④)で設定した条件を満たしたレコードのみ、重複ルールの判定が入るよう設定します
- 「有効化」を押下する

- 有効化されると、下図のように「有効」にチェックが付きます

動作確認
重複レコードの保存を許可している場合
- あらかじめ、レコードを3つ作成しておく
※見やすいように、重複レコードと判定するための項目を表示するリストビューを作成しています
- レコードの新規作成で、事前に作成したレコードと対象の項目が一致するよう入力し、「保存」を押下する
※重複ルールの条件で設定した条件を満たすため、項目「チェックボックス」にチェックを付けます
- アラートが表示されることを確認して「重複を表示」を押下する
※重複ルールでアクションを”許可”に設定しているため、オレンジ色のアラートメッセージが表示されます。
- 重複の詳細を表示すると、設定したアラートメッセージと、重複しているレコードの情報が確認できる

- アラートを確認したうえで、再度「保存」を押下すると、重複しているレコードの作成が完了する

重複レコードの保存をブロックする場合
- 重複ルールを編集し、アクションを”許可”から”ブロック”に変更し、保存する

- レコードの新規作成で、事前に作成したレコードと対象の項目が一致するよう入力し、「保存」を押下する

- 下図のように、赤背景のアラートが表示され、保存ができないことを確認する
※アクションで”許可”にしていた時と異なり、何度保存を押下しても保存できないようになっています
重複ルール条件を満たさない場合(一致チェック対象外の場合)
- レコードの新規作成で、事前に作成したレコードと対象の項目が一致するよう入力し、重複ルールの条件(チェックボックス=True)を満たさないようにして、「保存」を押下する

- 重複ルールで設定した条件を満たしていないため、一致ルールにより重複と判断されるはずのレコードでも、アラート表示がなく保存されることを確認する

一致条件項目が空白&空白項目マッチング=Falseの場合
- レコードの新規作成で、事前に作成したレコードと対象の項目が一致するよう入力し、「保存」を押下する
※一致条件項目に空白があるよう入力する(事前に作成したレコードも対象項目は空白で作成)
- アラートが表示されず、そのままレコードが保存されたことを確認する
※一致ルールで、「空白項目をマッチング」にチェックをつけていないため、重複とみなされずレコードが保存されます
一致条件項目が空白&空白項目マッチング=Trueの場合
- 一致ルールを編集し、項目「メール」「電話」の「空白項目をマッチング」にチェックを付けて保存する

- レコードの新規作成で、事前に作成したレコードと対象の項目が一致するよう入力し、「保存」を押下する
※一致条件項目に空白があるよう入力する(事前に作成したレコードも対象項目は空白で作成)
- 今回は空白項目があるレコードでも、重複レコードとみなされアラートが表示されることを確認する

