DMLOptions.DuplicateRuleHeader クラス
名前空間
例
次の例は、重複と識別された取引先レコードを保存する方法を示します。重複エラーを反復処理する方法についての詳細は、「DuplicateError クラス」を参照してください。
1Database.DMLOptions dml = new Database.DMLOptions();
2dml.DuplicateRuleHeader.allowSave = true;
3dml.DuplicateRuleHeader.runAsCurrentUser = true;
4Account duplicateAccount = new Account(Name='dupe');
5Database.SaveResult sr = Database.insert(duplicateAccount, dml);
6if (sr.isSuccess()) {
7 System.debug('Duplicate account has been inserted in Salesforce!');
8}DMLOptions.DuplicateRuleHeader プロパティ
DMLOptions.DuplicateRuleHeader のプロパティは次のとおりです。
allowSave
署名
public Boolean allowSave {get; set;}
プロパティ値
型: Boolean
例
この例では、重複と識別された取引先レコードを保存する方法を示します。dml.DuplicateRuleHeader.allowSave = true は、ユーザが重複を保存できることを意味します。重複エラーを反復処理する方法についての詳細は、「DuplicateError クラス」を参照してください。
1Database.DMLOptions dml = new Database.DMLOptions();
2dml.DuplicateRuleHeader.allowSave = true;
3dml.DuplicateRuleHeader.runAsCurrentUser = true;
4Account duplicateAccount = new Account(Name='dupe');
5Database.SaveResult sr = Database.insert(duplicateAccount, dml);
6if (sr.isSuccess()) {
7 System.debug('Duplicate account has been inserted in Salesforce!');
8}runAsCurrentUser
重複ルールを実行するときに現在のユーザの共有ルールを適用するには、true に設定します。クラスで指定された共有ルールを要求に使用するには、false に設定します。共有ルールが指定されていない場合、Apex コードはシステムコンテキストで実行され、現在のユーザの共有ルールは適用されません。
署名
public Boolean runAsCurrentUser {get; set;}
プロパティ値
型: Boolean
使用方法
true を指定した場合、現在のユーザに対して重複ルールが実行され、ユーザは許可されていない重複レポートを参照できなくなります。
リードを取引先責任者に変換するときに重複を検出するには、runAsCurrentUser = true を使用します。通常、リードの変換 Apex コードはシステムコンテキストで実行され、現在のユーザの共有ルールは適用されません。
例
この例では、新規取引先を保存するときに現在のユーザに対して重複ルールを実行するようにオプションを設定する方法を示します。
1Database.DMLOptions dml = new Database.DMLOptions();
2dml.DuplicateRuleHeader.allowSave = true;
3dml.DuplicateRuleHeader.runAsCurrentUser = true;
4Account duplicateAccount = new Account(Name='dupe');
5Database.SaveResult sr = Database.insert(duplicateAccount, dml);
6if (sr.isSuccess()) {
7 System.debug('Duplicate account has been inserted in Salesforce!');
8}