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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| PROCEDURE valider()
sStock est une chaîne
POUR i=1 A TableOccurrence(TABLE_produit)
SI TABLE_produit.COL_Reference[i] <> "TXT" ALORS
// on vérifie la quantité en stock
HLitRecherchePremier(Produit, Reference, TABLE_produit.COL_Reference[i])
SI HTrouve() ALORS
SI Produit.stock_actuel = 0 ALORS
Erreur("Il n'y a plus de pièce de référence " + TABLE_produit.COL_Reference[i] + ".")
TableSelectPlus(TABLE_produit, i)
RepriseSaisie(TABLE_produit.COL_Reference)
RETOUR
SINON SI Produit.stock_actuel < TABLE_produit.COL_Quantite[i] ALORS
SI Produit.stock_actuel < 0 ALORS
sStock = "Le stock est déficitaire de " + Abs(Produit.stock_actuel) + " Pièces."
SINON
sStock = "Le stock ne contient que " + Produit.stock_actuel + " Pièces."
FIN
Erreur("La quantité en stock de la pièce de référence " + TABLE_produit.COL_Reference[i] + " est insuffisante." + RC + sStock)
TableSelectPlus(TABLE_produit, i)
RepriseSaisie(TABLE_produit.COL_Reference)
RETOUR
FIN
SINON
Erreur("Impossible de trouver le stock de la pièce réf. " + TABLE_produit.COL_Reference[i])
TableSelectPlus(TABLE_produit, i)
RepriseSaisie(TABLE_produit.COL_Reference)
RETOUR
FIN
FIN
FIN
SI COMBO_NumClient="" ALORS
Info("Veuillez selectionné un client")
RETOUR
FIN
// Lecture des informations saisies
EcranVersFichier()
// S'il s'agit d'un nouvel enregistrement
SI Bon_liv..NouvelEnregistrement = Vrai ALORS
// On l'ajoute
HAjoute(Bon_liv)
SINON
// On le modifie
HModifie(Bon_liv)
FIN
nOrdre est un entier = 1
// Enregistrement des lignes de commandes
POUR TOUTE LIGNE DE TABLE_produit
TABLE_produit.COL_IDcomptoire=Bon_liv.IDbon_liv
TABLE_produit.COL_Ordre = nOrdre
// Enregistrement de la table
TableEnregistre(TABLE_produit)
nOrdre++
FIN
POUR TOUTE LIGNE DE TABLE_produit
HLitRecherche(Produit,Reference,TABLE_produit.COL_Reference)
SI HTrouve(Produit) ALORS
//Met à jour le stock
Produit.stock_actuel -= TABLE_produit.COL_Quantite
SI HModifie(Produit,hNumEnrEnCours) = Faux ALORS
Erreur(errComplet)
FIN
SINON
//Ajoute un article au stock
Produit.Reference = TABLE_produit.COL_Reference
Produit.Qte_initial = TABLE_produit.COL_Quantite
Produit.PrixHT = TABLE_produit.COL_PrixVente
SI HAjoute(Produit) = Faux ALORS
Erreur(errComplet)
FIN
FIN
FIN
HLitRecherche(Client,NumClient,FEN_Bon_de_livraison.COMBO_NumClient)
SI HTrouve(Client) ALORS
//Met à jour le stock
Client.solde += FEN_Bon_de_livraison.SAI_montant_reglé
SI HModifie(Client,hNumEnrEnCours) = Faux ALORS
Erreur(errComplet)
FIN
FIN
TableSupprimeTout(TABLE_produit)
// Valeur de retour de la fenêtre
MaFenêtre..ValeurRenvoyée = Vrai
BTN_Valider..Grisé=Vrai |
Partager