Bonjour,
Je me permets de vous contacter car j'ai une erreur que je n'arrive pas à éluscider.
Présentation de l'analyse :
CDE_PRIMSERVICES -> Commande Générale
DETAIL_CDE_PRIMSERVICE -> Récap de la commande d'un salarié
DETAIL_CDE_SALARIE_PRIMSERVICE -> Tous les détails de la commande du salarié
PRODUITS_PRIMSERVICES -> Tous les produits sélectionnables pour une commande
Le but de mon code est de mettre à jour tous les détails de commande salarié lors de l'ajout, suppression ou modification d'une donnée d'un produit (Prix) par l'utilisation d'un trigger.
Cette mise à jour fonctionne bien, pas de soucis.
Une fois la mise à jour terminée, il me faut recalculer le montant total de la commande pour mettre à jour la donnée dans CDE_PRIMSERVICE et DETAIL_CDE_PRIMSERVICE
C'est là que ca ne marche pas.
Avec 1 Salarié, cela fonctionne, dès que j'en mets un deuxième, le parcours des détails ne se fait pas sur le deuxième et par conséquent m'initialise le montant de se commande a 0 €.
Les données sont bien remplies, je ne comprends pas. Voici le code, si quelqu'un peut m'aider.
Le code est présent dans la fonction gérant l'action TRIGGER Aprés de PRODUITS_PRIMSERVICE
//** Déclaration des Variables **
Mon_MontantTotalSalarie est un monétaire
i est un entier
//** On change le total commande **
POUR TOUT DETAIL_CDE_PRIMSERVICES AVEC IDCDE_PRIMSERVICES = Gp_Ent_IdCommandePrimServiceEnCours
Message("Id : " + DETAIL_CDE_PRIMSERVICES.IDDETAIL_CDE_PRIMSERVICES + " - Mise à jour de la commande de " + DETAIL_CDE_PRIMSERVICES.NomPrenomSalarie)
//** Temporisation **
Multitâche(100)
Mon_MontantTotalSalarie = 0
i = 0
//** Recherche de tous les détails salariés **
POUR TOUT DETAIL_CDE_SALARIE_PRIMSERVICES AVEC IDDETAIL_CDE_PRIMSERVICES = DETAIL_CDE_PRIMSERVICES.IDDETAIL_CDE_PRIMSERVICES
//** Incrémentation du nb de produits **
i++
//** Barre de message **
Message("Id : " + DETAIL_CDE_PRIMSERVICES.IDDETAIL_CDE_PRIMSERVICES + " - Mise à jour de la commande de " + DETAIL_CDE_PRIMSERVICES.NomPrenomSalarie + " - Produit : " + DETAIL_CDE_SALARIE_PRIMSERVICES.IDPRODUITS_PRIMSERVICES)
//** Temporisation **
Multitâche(100)
Mon_MontantTotalSalarie += DETAIL_CDE_SALARIE_PRIMSERVICES.MontantDetail
FIN
DETAIL_CDE_PRIMSERVICES.MontantTotalCommande = Mon_MontantTotalSalarie
HModifie(DETAIL_CDE_PRIMSERVICES)
FIN
Liste des fichiers Joints :
Analyse.jpg : Aperçu de l'analyse
Données DETAIL_CDE_SALARIE_PRIMSERVICE.jpg : Données concernées du fichier cité
Données DETAIL_CDE_PRIMSERVICE.jpg : Données concernées du fichier cité