Loading

Errore di calcolo del preventivo CPQ "impossibile ottenere l'accesso esclusivo a questo record o a 1 record"

Data pubblicazione: Sep 27, 2025
Descrizione
Errore nel calcolo asincrono di un Preventivo con il seguente messaggio: "impossibile ottenere l'accesso esclusivo a questo record o a 1 record: <Quote Id>", dove <Quote Id> è l'ID del record Preventivo in cui si è verificato l'errore.
Risoluzione
Il messaggio di errore "impossibile ottenere l'accesso esclusivo a questo record o a 1 record:" indica che un processo ha tentato di bloccare un record per 10 secondi, prima di abbandonare l'operazione generando un messaggio di errore che segnala il record come non disponibile. Se un unico processo a esecuzione prolungata oppure troppi processi rapidi tentano di interagire contemporaneamente con un record, è possibile che si verifichi un errore di accesso esclusivo.

La causa più comune di questo messaggio di errore in Salesforce CPQ è la concomitanza di più calcoli in coda su un unico Preventivo provenienti da una singola transazione. L'esecuzione di questi calcoli dal servizio Heroku richiede all'incirca lo stesso tempo. Di conseguenza, tentano di eseguire il writeback sul record Preventivo nello stesso momento. È quindi possibile che a uno o più processi non sia consentito bloccare il Preventivo per eseguire un tentativo di aggiornamento.

Quando si genera questo messaggio di errore, gli amministratori devono esaminare le aree indicate di seguito per determinare se sia possibile ridurre eventuali inserimenti o aggiornamenti eseguiti sull'oggetto Preventivo o Voce preventivo. Eventuali riduzioni degli aggiornamenti riducono il numero di processi di calcolo in esecuzione. In questo modo, le probabilità di incorrere in questo messaggio di errore saranno minori.
  • Classi/trigger Apex personalizzati - Qualsiasi istruzione DML relativa a un oggetto Voce preventivo fa sì che venga accodato un nuovo calcolo. Qualsiasi istruzione DML relativa a un Preventivo in cui sia stato modificato uno dei Campi calcolati fa sì che venga accodato un nuovo calcolo. Esaminare i registri debug per stabilire se esistano più istruzioni DML in relazione a questi oggetti nell'Apex Code personalizzato. Quando possibile, tentare di modificare la logica di utilizzo di una singola istruzione DML.
  • Regole del flusso di lavoro e Process Builder - Qualsiasi aggiornamento di campo relativo ai Campi calcolati del Preventivo, o a QUALSIASI campo dell'oggetto Voce preventivo, fa sì che venga accodato un nuovo calcolo. Anche selezionare l'impostazione "Ricorsione" nei Process Builder oppure l'impostazione "Rivaluta regole di flusso di lavoro dopo la modifica del campo" nelle regole del flusso di lavoro può comportare l'aggiornamento di ulteriori campi e quindi calcoli supplementari. Poiché esiste il rischio che si verifichino errori nel tentativo di bloccare il record e considerati gli altri limiti imposti da Apex, si consiglia di evitare l'uso di regole del flusso di lavoro e generatori di processi negli oggetti Preventivo o Voce preventivo.
  • Pacchetti gestiti non CPQ - Come per l'Apex Code personalizzato, anche un pacchetto gestito non CPQ può includere una logica in grado di attivare ulteriori DML/regole del flusso di lavoro/generatori di processi/ecc. sugli oggetti CPQ, causando l'elaborazione di calcoli aggiuntivi. Analizzare i registri di debug per scoprire dove operano le istruzioni DML. Anche se i registri sono nascosti per il pacchetto gestito, le istruzioni DML vengono comunque riportate nei registri.
Numero articolo Knowledge

000380651

 
Caricamento
Salesforce Help | Article