Loading

Erreur de calcul de devis CPQ « impossible d’obtenir un accès exclusif à cet enregistrement ou à 1 enregistrements »

Date de publication: Sep 27, 2025
Description
Un calcul de devis asynchrone échoue et affiche le message d’erreur : « impossible d’obtenir un accès exclusif à cet enregistrement ou à 1 enregistrements : <Quote Id> », où <Quote Id> est l’ID de l’enregistrement de devis sur lequel l’erreur s’est produite.
Résolution
Le message d’erreur « impossible d’obtenir un accès exclusif à cet enregistrement ou à 1 enregistrements : » indique qu’un processus a tenté de verrouiller un enregistrement pendant 10 secondes avant de finalement quitter le processus et d’afficher un message d’erreur indiquant que l’enregistrement n’est pas disponible. Si un processus de longue durée ou trop de processus de courte durée tentent d’interagir avec un enregistrement en même temps, cela peut provoquer cette erreur d’accès exclusif.

La cause la plus courante de ce message d’erreur lorsqu’il apparaît dans Salesforce CPQ est l’existence de plusieurs calculs sur un seul devis mis en file d’attente à partir d’une seule transaction. Ces calculs prendront approximativement le même temps de traitement sur le service Heroku. Par conséquent, ils tenteront de réécrire dans l’enregistrement de devis en même temps. Il est alors possible qu’un ou plusieurs des processus soient dans l’impossibilité de verrouiller le devis pour une tentative de mise à jour.

Lorsqu’ils rencontrent ce message d’erreur, les administrateurs doivent examiner les aspects suivants pour déterminer s’il est possible de réduire les insertions ou les mises à jour se produisant sur l’objet Devis ou Ligne de devis. Toute réduction des mises à jour entraînera une réduction des processus de calcul exécutés. Ainsi, il y aura moins de chance de déclencher le message d’erreur.
  • Classes/déclencheurs Apex personnalisés : toute instruction DML sur une ligne de devis entraînera la mise en file d’attente d’un nouveau calcul. Toute instruction DML associée à un devis dans lequel l’un des champs de calcul a été modifié entraînera la mise en file d’attente d’un nouveau calcul. Examinez les journaux de débogage pour déterminer s’il existe plusieurs instructions DML sur ces objets se produisant dans le code Apex personnalisé. Essayez de modifier la logique pour utiliser un seul DML chaque fois que possible.
  • Règles de workflow et générateurs de processus : toute mise à jour de champ sur des champs de calcul de devis ou sur TOUT champ de la ligne de devis entraînera la mise en file d’attente d’un calcul. L’utilisation du paramètre « Récurrence » sur les générateurs de processus ou du paramètre « Réévaluer les règles de workflow après la modification du champ » sur les règles de workflow peut également entraîner des mises à jour de champ supplémentaires provoquant des calculs supplémentaires. En raison du risque d’erreurs de verrouillage d’enregistrements et des autres limites d’Apex, il est conseillé d’éviter d’utiliser les règles de workflow et les générateurs de processus sur les objets Devis et Ligne de devis.
  • Packages gérés non CPQ : à l’instar de l’Apex personnalisé, un package géré non CPQ peut comporter une logique qui déclenche des DML/règles de workflow/générateurs de processus, etc. supplémentaires sur des objets CPQ, ce qui entraîne des calculs supplémentaires. Analysez les journaux de débogage pour voir où les instructions DML se produisent. Même si les journaux sont masqués pour le package géré, les instructions DML seront toujours comprises dans les journaux.
Numéro d’article de la base de connaissances

000380651

 
Chargement
Salesforce Help | Article