Bonjour,
J'ai ajouté un champ calculé ZTOTQTY dans un écran SCS1 - changement de stock, qui fait la somme des quantités QTYSTUDES des lignes de stock pickées pour le changement de stock.
Principe : lorsque je picke une ligne dans le tiroir de gauche "Sélection de stock", la ligne s'ajoute dans le tableau de SCS1 (standard), et j'ajoute la quantité 1 QTYSTUDES de cette ligne de SCS1 dans ZTOTQTY. Je picke une 2eme ligne dans le tiroir de gauche "Sélection de stock", elle s'ajoute dans le tableau de SCS1, et j'additionne la quantité 2 QTYSTUDES de cette 2eme ligne de SCS1 avec la quantité 1 de la ligne 1 dans ZTOTQTY. Etc.
Dans le SPESCS, j'ai donc ajouté :
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 #==================================================== $ACTION Case ACTION When 'LIENS' : Gosub LIENS When Default Endcase Return #==================================================== $LIENS Local Decimal ZQTY ZQTY = 0 If !clalev([F:ZSCS]) : Local File SCHGD [ZSCS] : Endif For [F:ZSCS] Where VCRNUM = [M:SCS1]VCRNUM ZQTY = ZQTY + [F:ZSCS]QTYSTUDES Next [M:SCS1]ZTOTQTY = ZQTY Affzo [M:SCS1]ZTOTQTY Return #==================================================== Subprog AM_QTYSTUDES(VALEUR) Variable Decimal VALEUR Local Integer ZI Local Decimal ZQTY ZQTY = 0 For [L]ZI =0 To ([M:SCS1]NBLIG) ZQTY = ZQTY + [M:SCS1]QTYSTUDES([L]ZI) Next ZI [M:SCS1]ZTOTQTY = ZQTY Affzo [M:SCS1]ZTOTQTY End #====================================================
Logique donc, avec Subprog AM_QTYSTUDES (après-modif), cela ne calcule la somme ZTOTQTY qu'après modification du champ quantité QTYSTUDES du tableau, ou lors de l'enregistrement "final" du changement de stock.
Ce que je souhaiterais, c'est que ce champ ZTOTQTY s'alimente au fur et à mesure que l'on alimente le tableau par le picking des lignes de stock :
Je picke la ligne 1 de stock de 1000 UN, ZTOTQTY = 1000
Puis je picke une 2eme ligne de 1500 UN, ZTOTQTY = 2500
Puis une troisième de 2000 UN, ZTOTQTY = 4500
Puis j'enlève la 2eme ligne de 1500 UN, ZTOTQTY = 3000
etc...
Savez vous si c'est compliqué et comment je pourrais le coder dans SPESCS ?
Merci beaucoup,
Cdt
Partager