Bonjour,
Je voudrais une solution a un problème sur lequel je cogite depuis 2 jours.
je suis entrain de travailler sur un logiciel de caisse pour supermarché.
Dans la saisie des références des produits, lorsque la caissière finit la saisie un tri est effectué sur la table et un calcul est fait de telle sorte que les références identiques s'additionnent (pour réduire le nombre de lignes sur le reçu)
Ensuite, je veux faire un autre calcul de pack (ou l'insérer dans le code précédent)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 TableTrie(TABLE_Facturation,TABLE_Facturation.COL_Code..Nom) POUR i= TableOccurrence(TABLE_Facturation) _A_ 2 PAS -1 SI TABLE_Facturation.COL_Code[i]=TABLE_Facturation.COL_Code[i-1] TABLE_Facturation.COL_Quantite[i]=TABLE_Facturation.COL_Quantite[i]+TABLE_Facturation.COL_Quantite[i-1] TableSupprime(TABLE_Facturation,(i-1)) FIN FIN
Par exemple, si on considère que la référence Ref001 se vend la pièce à 2 euro et que le les 12 pièces font 20 euro
la table devra faire le nouvel affichage:
si après tri et calcul
Ref001=15 pièces alors
Ref001X12 = 20 euro x 1
Ref001X3= 2 euro X 2
j'ai essayé sa marche parfaitement, mais j'ai un "souci d'indice"
Quand l'indice de la table (table Occurence) après trie et calcul de pack est < 29 (i<29) alors sa marche
Si c'est supérieur à 29 (i>29) il ne prend pas en compte le calcul de pack restant
je vous mets mon code et si je peux avoir une aide, un conseil se serait gentil
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 //Calcul des packs //VOLUME=PACK //PRIXORIGINE=PRIX PACK nQtiteInitial est un entier sDesignIntial est une chaîne POUR i=1 A TableOccurrence(TABLE_Facturation) REQ_article_tarif.ParamArticle=TABLE_Facturation.COL_Code[i] HExécuteRequête(REQ_article_tarif) HLitPremier(REQ_article_tarif) SI REQ_article_tarif.VOLUME<>"0" ALORS TANTQUE REQ_article_tarif.VOLUME<TABLE_Facturation.COL_Quantite[i] nQtiteInitial=TABLE_Facturation.COL_Quantite[i] sDesignIntial=REQ_article_tarif.DESIGN TABLE_Facturation.COL_Quantite[i]=REQ_article_tarif.VOLUME TABLE_Facturation.COL_Designation[i]=sDesignIntial+" ---- PACK"+"x"+REQ_article_tarif.VOLUME TABLE_Facturation.COL_PrixVTTC[i]=REQ_article_tarif.PRIXORIGINE TABLE_Facturation.COL_Pack[i]="Oui" TableInsèreLigne(TABLE_Facturation,TABLE_Facturation+1,TABLE_Facturation.COL_Code[i], sDesignIntial,nQtiteInitial-REQ_article_tarif.VOLUME,REQ_article_tarif.PRIXORIGINE) FIN FIN SI REQ_article_tarif.VOLUME=TABLE_Facturation.COL_Quantite[i] ALORS nQtiteInitial=TABLE_Facturation.COL_Quantite[i] sDesignIntial=REQ_article_tarif.DESIGN TABLE_Facturation.COL_Quantite[i]=REQ_article_tarif.VOLUME TABLE_Facturation.COL_Designation[i]=sDesignIntial+" ---- PACK"+"x"+REQ_article_tarif.VOLUME TABLE_Facturation.COL_PrixVTTC[i]=REQ_article_tarif.PRIXORIGINE FIN FIN
Partager