Hello,
I try to integrate error handling into this procedure...
The goal is that if a step is in error, the rest of the procedure stops.
To do this I activated the experimental function on error handling and used the IfError
Can you tell me if I did and correct because I have the impression that all the steps are not happening
without error management
Set(Chargement;true);;
Refresh(Click);;
Refresh(Truck);;
Refresh(JIT_Liste_Mail);;
Refresh(Traités);;
//Met la galerie dans un tableau en renommant deux colonnes Pick_ID et ARTNO
ClearCollect(colTruck;RenameColumns(BrowseGallery1.AllItems;"PICK_ID";"newPICK_ID";"ARTNO";"newARTNO"));;
//Compare avec le tableau Truck et met à jout la colonne Etat de truck
ForAll(colTruck;UpdateIf(Truck;And(newPICK_ID = ThisRecord.PICK_ID;newARTNO = ThisRecord.ARTNO;Etat_JIT_Truck.Text<>ThisRecord.Etat);{Etat:Etat_JIT_Truck}));;
//Compare avec le tableau Traités et met à jour la colonne Nom de truck
ForAll(Traités;UpdateIf(Truck;And(ID = ThisRecord.PICK_ID;RefAlerte1 = ThisRecord.ARTNO;Nom<>Nom_preparateur);{Nom_preparateur:Nom}));;
//Met la galerie dans un tableau en renommant deux colonnes Pick_ID et ARTNO
ClearCollect(colClick;RenameColumns(BrowseGallery1_1.AllItems;"PICK_ID";"newPICK_ID_1";"ARTNO";"newARTNO_1"));;
//Compare avec le tableau Click et met à jout la colonne Etat de Click
ForAll(colClick;UpdateIf(Click;And(newPICK_ID_1 = ThisRecord.PICK_ID;newARTNO_1 = ThisRecord.ARTNO;Etat_JIT_Click.Text<>ThisRecord.Etat);{Etat:Etat_JIT_Click}));;
//Compare avec le tableau Traités et met à jour la colonne Nom de Click
ForAll(Traités;UpdateIf(Click;And(ID = ThisRecord.PICK_ID;RefAlerte1 = ThisRecord.ARTNO;Nom<>Nom_preparateur);{Nom_preparateur:Nom}));;
Set(Chargement;false)
Edited with error handling
Set(Chargement;true);;
IfError(
Refresh(Click);Notify("Actualisation des données en cours, reviens dans quelques minutes !";NotificationType.Error);
Refresh(Truck);Notify("Actualisation des données en cours, reviens dans quelques minutes !";NotificationType.Error);
Refresh(JIT_Liste_Mail);Notify("Actualisation des données en cours, reviens dans quelques minutes !";NotificationType.Error);
Refresh(Traités);Notify("Actualisation des données en cours, reviens dans quelques minutes !";NotificationType.Error);
//Met la galerie dans un tableau en renommant deux colonnes Pick_ID et ARTNO
ClearCollect(colTruck;RenameColumns(BrowseGallery1.AllItems;"PICK_ID";"newPICK_ID";"ARTNO";"newARTNO"));Notify("Actualisation des données en cours, reviens dans quelques minutes !";NotificationType.Error;4000);
//Compare avec le tableau Truck et met à jout la colonne Etat de truck
ForAll(colTruck;UpdateIf(Truck;And(newPICK_ID = ThisRecord.PICK_ID;newARTNO = ThisRecord.ARTNO;Etat_JIT_Truck.Text<>ThisRecord.Etat);{Etat:Etat_JIT_Truck}));Notify("Actualisation des données en cours, reviens dans quelques minutes !";NotificationType.Error;4000);
//Compare avec le tableau Traités et met à jour la colonne Nom de truck
ForAll(Traités;UpdateIf(Truck;And(ID = ThisRecord.PICK_ID;RefAlerte1 = ThisRecord.ARTNO;Nom<>Nom_preparateur);{Nom_preparateur:Nom}));Notify("Actualisation des données en cours, reviens dans quelques minutes !";NotificationType.Error;4000);
//Met la galerie dans un tableau en renommant deux colonnes Pick_ID et ARTNO
ClearCollect(colClick;RenameColumns(BrowseGallery1_1.AllItems;"PICK_ID";"newPICK_ID_1";"ARTNO";"newARTNO_1"));Notify("Actualisation des données en cours, reviens dans quelques minutes !";NotificationType.Error;4000);
//Compare avec le tableau Click et met à jout la colonne Etat de Click
ForAll(colClick;UpdateIf(Click;And(newPICK_ID_1 = ThisRecord.PICK_ID;newARTNO_1 = ThisRecord.ARTNO;Etat_JIT_Click.Text<>ThisRecord.Etat);{Etat:Etat_JIT_Click}));Notify("Actualisation des données en cours, reviens dans quelques minutes !";NotificationType.Error;4000);
//Compare avec le tableau Traités et met à jour la colonne Nom de Click
ForAll(Traités;UpdateIf(Click;And(ID = ThisRecord.PICK_ID;RefAlerte1 = ThisRecord.ARTNO;Nom<>Nom_preparateur);{Nom_preparateur:Nom}));Notify("Actualisation des données en cours, reviens dans quelques minutes !";NotificationType.Error;4000)
);;
Set(Chargement;false)
thx
Hello,
No answer, no opinion... maybe my request is not clear or maybe you prefer that I format the code?
Does my error handling with iferror look correct to you?