Lorsque l'on nous remonte un cas suite à un avenant ou les formalité du workflow ont disparu.




il faut vérifier l'ordre des opérations  sur T_devis 

select * from t_devis where `ID_BO_DEVIS` ='<Num_MS>';



 si le retour de la requête montre une discontinuité dans la colonne "ID_ORDRE_OPERATION" il faut annulé l'opération 


Dans le cas ci dessus, on constat que l'opération 4 est en discontinualité avec 2 et donc doit êtr annulée



on vérifie aussi les tables t_devis_last_operation et t_bo_operation_devis

select * from t_devis_last_operation where `ID_BO_DEVIS` ='<Num_MS>';
select * from t_bo_operation_devis where `ID_BO_DEVIS` ='<Num_MS>';









ACTION DE CORRECTION 


SET FOREIGN_KEY_CHECKS=0;
SET @ID_BO_DEVIS = <Num_Ms>; 
SET @ID_ORDRE_OPERATION_TARGET=-1; /* nouveau numéro d'ordre de la ligne à neutralisé */
SET @ID_ORDRE_OPERATION_SOURCE=4; /* ligne à neutralisé sur t_devis */
SET @ID_ORDRE_OPERATION_DEVIS_CIBLE=2; /* ordre de la dernière opération à restituer */




SET @ID_TECH_DEVIS = (SELECT ID_TECH_DEVIS FROM T_DEVIS WHERE ID_BO_DEVIS = @ID_BO_DEVIS AND ID_ORDRE_OPERATION = @ID_ORDRE_OPERATION_DEVIS_CIBLE);

update t_devis_last_operation set ID_TECH_DEVIS =  @ID_TECH_DEVIS where ID_BO_DEVIS = @ID_BO_DEVIS; 

update t_devis set ID_ORDRE_OPERATION=@ID_ORDRE_OPERATION_TARGET where ID_BO_DEVIS = @ID_BO_DEVIS and id_ordre_operation = @ID_ORDRE_OPERATION_SOURCE;

update t_bo_operation_devis set ID_ORDRE_OPERATION =@ID_ORDRE_OPERATION_TARGET where ID_BO_DEVIS = @ID_BO_DEVIS and id_ordre_operation = @ID_ORDRE_OPERATION_SOURCE; 

SET FOREIGN_KEY_CHECKS=1;




FICHE REFERENCE 

https://psi-brokerage.freshdesk.com/a/tickets/235963