Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

CPQ 見積計算で表示される「このレコードまたは 1 件のレコードへの排他的アクセス権限を取得できません」というエラー

公開日: Sep 27, 2025
説明
非同期の見積計算が失敗し、「このレコードまたは 1 件のレコードへの排他的アクセス権限を取得できません: <Quote Id>」 (<Quote Id> は問題が発生した見積レコードの ID) というエラーメッセージが表示されます。
解決策
「このレコードまたは 1 件のレコードへの排他的アクセス権限を取得できません:」というエラーメッセージは、あるプロセスがレコードに対するロックの取得を 10 秒間試行した後、最終的にそのレコードがアクセス不可であることを示すエラーメッセージを表示してプロセスを終了したことを意味します。1つの長時間実行プロセスや、あまりにも多くの短時間実行プロセスが 1 件のレコードと同時にやり取りしようとすると、排他的アクセスエラーが発生する可能性があります。

Salesforce CPQ でこのエラーメッセージが表示される最も一般的な原因は、1 つのトランザクションからキューに入れられた 1 つの見積に対して複数の計算が行われる場合です。このような計算は、Heroku サービスでの処理とほぼ同じ時間がかかります。そのため、見積レコードに同時に書き戻そうとします。これにより、1 つまたは複数のプロセスで、更新を試みても見積をロックできない可能性が生じます。

このエラーメッセージが表示された場合、管理者は以下の領域を確認し、見積または見積品目のオブジェクトで発生する挿入または更新を減らすことが可能かどうかを判断する必要があります。更新が減ると、実行される計算処理も減ります。そのため、エラーメッセージが発生する可能性が低くなります。
  • カスタム Apex クラス/トリガー - 見積品目に対する DML ステートメントは、すべて新しい計算がキューに入れられる原因となります。いずれかの計算フィールドが変更された見積に対する DML ステートメントは、新しい計算がキューに入れられる原因となります。デバッグログを調査し、カスタム Apex コードでこれらのオブジェクトに対して複数の DML ステートメントがあるかどうかを確認します。可能な限り、単一の DML を使用するようにロジックの変更を試みます。
  • ワークフロールールとプロセスビルダー - 見積計算フィールド、または見積品目の任意のフィールドに対する任意のフィールドの更新は、計算がキューに入れられる原因となります。プロセスビルダーの「再帰」設定やワークフロールールの「フィールド変更後にワークフロールールを再評価」設定を使用すると、フィールドが余分に更新され、余計な計算が発生することがあります。レコードロックエラーやその他の Apex 制限のリスクがあるため、見積および見積品目オブジェクトでのワークフロールールやプロセスビルダーの使用を避けることをおすすめします。
  • 非 CPQ 管理パッケージ - カスタム Apex と同様に、非 CPQ 管理パッケージには、CPQ オブジェクトに対して追加の DML/ワークフロールール/プロセスビルダーなどを起動し、余分な計算を発生させるロジックが含まれている場合があります。デバッグログを解析し、DML ステートメントが発生している箇所を確認します。管理対象パッケージのログを非表示にした場合も、DML ステートメントはログに含まれます。
ナレッジ記事番号

000380651

 
読み込み中
Salesforce Help | Article