Bonjour,
J'ai rajouté le petit morceau de code ci-dessous dans SPESDH. Le but est de calculer un champ sur les lignes lorsque le BL est enregistré et/ou validé.
ça fonctionne correctement uniquement dans le cas ou je n'ai qu'une seule ligne sur le BL.
Si j'ai deux lignes par exemple, les champs sont bien calculés, je vois les lignes se mettre à jour grâce au AFFZO.
Par contre une fois la boucle terminée et que le BL est enregistré, seul le champ de la première ligne est enregistré, le champ de la deuxième ligne repasse à 0.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 $CALCUL Local Integer X If !clalev([ZITM]): Local File ITMMASTER[ZITM] : Endif For X = 0 to [M:SDH1]NBLIG - 1 Read [F:ZITM]ITM0=[M:SDH1]ITMREF([L]X) If [M:SDH1]Z_MONCHAMP([L]X) = 0 Then [M:SDH1]Z_MONCHAMP([L]X) = [M:SDH1]QTY([L]X)/[F:ZITM]Z_POIDS [F:SDD]Z_MONCHAMP = [M:SDH1]Z_MONCHAMP([L]X) affzo [M:SDH1]Z_MONCHAMP([L]X) Endif Next Rewrite [F:SDD] Close File [ZITM] Return
Auriez vous une idée ?
Merci pour votre aide.





Répondre avec citation



Partager