Ti trovi qui:
Scenari delle azioni di transizione tra stati oggetto in Salesforce Contracts
Questi scenari contengono informazioni importanti da tenere presenti quando si configurano le azioni per un contratto.
Scenario 1
Lo stato del contratto non cambia perché la logica delle classi Apex e la mappatura della transizione tra stati non corrispondono. Ecco un esempio:
-
Lo stato del contratto è Bozza.
-
Si configura:
-
Una definizione di azione stato oggetto che utilizza Apex Type DraftToInApproval.
-
Un'azione di transizione stato oggetto da Bozza a In approvazione per l'azione DraftToInApproval.
-
Una classe Apex denominata ChangeStatus.apxc, con una logica che sposta il contratto da Bozza a Annullato.
-
-
Quando si fa clic su DraftToInApproval, il contratto non passa da Bozza a In approvazione. La classe Apex esegue la logica definita e sposta il contratto da Bozza ad Annullato come stato intermedio.
-
Se la transizione stato oggetto include una transizione che sposta il contratto da Annullato a In approvazione, il contratto torna allo stato Bozza iniziale.
Nota Per passare dallo stato Bozza a quello In approvazione, è necessario creare una transizione tra stato oggetto e stato Annullato. -
Lo stato finale del contratto è Bozza.
Scenario 2
Lo stato del contratto cambia anche se la logica della classe Apex e la mappatura della transizione tra stati non corrispondono, poiché la transizione tra stati oggetto include tutte le transizioni richieste. Ecco un esempio:
-
Lo stato del contratto è Bozza.
-
Si configura:
-
Una definizione di azione stato oggetto che utilizza Apex Type DraftToCanceled.
-
Un'azione di transizione stato oggetto da Bozza a Annullato per l'azione DraftToCanceled.
-
Una classe Apex denominata StatusChange.apxc, con una logica che sposta il contratto da Bozza a In approvazione.
-
-
Quando si fa clic su DraftToCanceled, il contratto passa da Bozza a In approvazione a Annullato perché esiste una transizione predefinita da InApproval_To_Canceled.
-
Lo stato finale del contratto è Annullato.
Scenario 3
Lo stato del contratto non cambia quando si fa clic sul pulsante dell'azione stato oggetto poiché l'esecuzione della classe Apex ha già aggiornato lo stato del contratto. Ecco un esempio:
-
Lo stato del contratto è Bozza.
-
Si configura:
-
Una definizione di azione stato oggetto che utilizza Apex Type DraftToInApproval.
-
Un'azione di transizione stato oggetto da Bozza a In approvazione per l'azione DraftToInApproval.
-
Una classe Apex denominata ChangeStatus.apxc, con una logica che sposta il contratto da Bozza a In approvazione.
-
-
Quando si fa clic su DraftToInApproval, poiché il contratto è già in fase di approvazione perché la classe Apex ha già eseguito la logica definita nella classe che sposta il contratto da Bozza a In approvazione come stato intermedio. Pertanto, lo stato del contratto rimane In approvazione in quanto è uno stato valido.
-
Lo stato finale del contratto è In approvazione.
Scenario 4
A una definizione stato oggetto sono associate più azioni di transizione stato oggetto. Le azioni di transizione stato oggetto hanno lo stesso stato Da e stati A diversi. L'applicazione Salesforce Contracts aggiorna lo stato dei contratti in base alle transizioni e alle azioni definite. Se esistono differenze tra la logica delle classi Apex e le transizioni definite, l'applicazione tenta di seguire le transizioni definite. Ecco un esempio:
-
Lo stato del contratto è Bozza.
-
Si configura:
-
Una definizione di azione stato oggetto che utilizza Apex Type DraftToFinalStatus.
-
Un'azione di transizione stato oggetto da Bozza a In approvazione per l'azione DraftToFinalStatus.
-
Un'azione di transizione stato oggetto da Bozza ad Attivato per l'azione DraftToFinalStatus.
-
-
Di seguito sono riportate due opzioni per configurare una classe Apex e i relativi esiti.
Nota Affinché le chiamate Apex in questo scenario abbiano esito positivo, il parametro finalStatusValue è obbligatorio.Opzione Scenari Creare una classe Apex denominata ChangeStatus.apxc, con una logica che sposta il contratto da Bozza a In approvazione. -
Se finalStatusValue è impostato su In processo di approvazione, il contratto passa da Bozza a In processo di approvazione.
-
Se finalStatusValue è impostato su Attivato, la transizione non riesce perché il percorso non è definito da In fase di approvazione ad Attivato. Il contratto rimane nello stato Bozza.
Creare una classe Apex denominata ChangeStatus.apxc, con una logica che sposta il contratto da Bozza ad Attivato. -
Se finalStatusValue è impostato su Attivato, il contratto passa da Bozza ad Attivato.
-
Se finalStatusValue è impostato su In processo di approvazione, la transizione non riesce perché il percorso non è definito da Attivato a In processo di approvazione. Il contratto rimane nello stato Bozza.
-
