Wlanguage
Ligne total
// Code pour le bouton Ajouter (BTN_AJ) dans l'interface Ventes
PROCÉDURE BTN_AJ_Clic()
LOCAL sNomProduit est une chaîne
LOCAL nQuantité, nPrixVente, nPrixRevient, nMontantTotal, nBénéfice est un monétaire
// Récupérer les valeurs saisies
sNomProduit = COMBO_VNDP..Valeur
nQuantité = SAI_VQTE
nPrixVente = SAI_VPDV
nPrixRevient = SAI_VPDR
// Validation des données
SI sNomProduit = "" ALORS
Info("Veuillez sélectionner un produit.")
RETOUR
FIN
SI nQuantité <= 0 ALORS
Info("La quantité doit être supérieure à 0.")
RETOUR
FIN
// Calcul du montant total et du bénéfice
nMontantTotal = nPrixVente * nQuantité
nBénéfice = nMontantTotal - (nPrixRevient * nQuantité)
// Rechercher la référence du produit dans la table Produit
HLitRecherchePremier(Produit, NomProduit, sNomProduit)
SI HTrouve(Produit) ALORS
// Ajouter une nouvelle ligne au tableau des ventes
TableAjouteLigne(TABLE_VENTES, [Link], sNomProduit, nQuantité, nPrixRevient,
nPrixVente, nMontantTotal, nBénéfice)
// Réinitialiser les champs après l'ajout
COMBO_VNDP..Valeur = ""
COMBO_VC..Valeur = ""
SAI_VQTE = 0
SAI_VPDV = 0
SAI_VPDR = 0
SINON
Info("Produit non trouvé dans le stock.")
FIN
Initialisation de COMBO_VNDP
// --- Procédure pour initialiser la liste déroulante des produits ---
PROCÉDURE InitialiserComboProduit()
// Vider la liste déroulante avant de la remplir
ListeSupprimeTout(COMBO_VNDP)
// Exécuter la requête pour récupérer les produits
HExécuteRequête(REQ_Produits)
// Charger les résultats dans la liste déroulante
TANTQUE HLitSuivant(REQ_Produits)
ListeAjoute(COMBO_VNDP, REQ_Produits.NomProduit)
FIN
Sélection de COMBO_VNDP
// --- Procédure pour la sélection d'un produit dans la liste déroulante ---
PROCÉDURE COMBO_VNDP_Selection()
SI COMBO_VNDP..Valeur <> "" ALORS
// Rechercher le produit sélectionné dans la base de données
HLitRecherchePremier(Produit, NomProduit, COMBO_VNDP..Valeur)
SI HTrouve(Produit) ALORS
// Remplir le formulaire avec les détails du produit
SAI_VPDR = [Link]
SAI_VPDV = [Link]
// Déplacer le focus vers le champ Quantité
DonneFocus(SAI_VQTE)
SINON
Info("Produit non trouvé dans le stock.")
COMBO_VNDP..Valeur = ""
FIN
FIN
//this is the code for add button in interface stock make me the code for Combo Nom du produit of
interface vente and the liste in the combo is the names that I added in stock and when I chose the
name of the product, prix de revient and prix de vente that added in stock pop up with it and when
I add the quantité that I sold it automatically reduced in stock
// Ajouter un produit dans la base de données
PROCÉDURE AjouterProduit()
// Vérification des champs obligatoires
SI SAI_SNDP = "" OU SAI_SPDV = "" OU SAI_SPDR = "" OU SAI_SQT = "" OU SAI_SDATE = "" ALORS
Info("Veuillez remplir tous les champs obligatoires.")
RETOUR
FIN
TableAffiche(TABLE_ST, taInit)//I added it
// Ajouter un produit à la base de données
HAjoute(Produit)
[Link] = SAI_SREF
[Link] = SAI_SNDP
[Link] = SAI_SQT
[Link] = SAI_SPDR
[Link] = SAI_SPDV
[Link] = SAI_SDATE
HEnregistre(Produit)
// Rafraîchir l'affichage de la table
TableAffiche(TABLE_ST, taInit)
// Réinitialiser les champs
SAI_SNDP = ""
SAI_SPDV = ""
SAI_SPDR = ""
SAI_SQT = ""
SAI_SDATE = ""
SAI_SREF = ""
Info("Produit ajouté avec succès !")
//things to help you
//Pour l'interface Ventes:
//Nom du produit=COMBO_VNDP
//Client=COMBO_VC
//Quantité=SAI_VQTE
//Prix de vente=SAI_VPDV
//Prix de revient=SAI_VPDR
//Pour le tableaux:
//Réf=COL_Réf
//Nom du produit=COL_NDP
//Qté=COL_Qté
//Prix de revient=COL_PDR
//Prix de vente=COL_PDV
//Montant Total=COL_MT
//Bénifice=COL_Bénf
//Les buttons:
//BTN_AJ=Ajouter
//BTN_MODF=Modifier
//BTN_SUPP=Supprimer
//COL_MT=COL_PDV*COL_Qté and COL_Bénf=COL_MT-COL_PDR*COL_Qté
//thing well get clear for you once u see the picture of the interface Vente that I uploaded
// Code semi finale pour le bouton Ajouter (BTN_AJ) dans l'interface Ventes
PROCÉDURE BTN_AJ_Clic()
// Vérifier les champs obligatoires
SI COMBO_VNDP = "" OU COMBO_VC = "" OU SAI_VQTE = "" ALORS
Info("Veuillez remplir tous les champs obligatoires.")
RETOUR
FIN
// Vérifier les valeurs numériques
SI Val(SAI_VQTE) <= 0 OU Val(SAI_VPDV) <= 0 OU Val(SAI_VPDR) < 0 ALORS
Info("Veuillez saisir des valeurs numériques valides pour la quantité et les prix.")
RETOUR
FIN
// Lire le produit dans la base de données
HLitRecherchePremier(Produit, IDProduit, COMBO_VNDP)
SI HTrouve(Produit) ALORS
// Vérifier la quantité en stock
SI [Link] < Val(SAI_VQTE) ALORS
Info("Stock insuffisant. Quantité disponible: " + [Link])
RETOUR
FIN
// Calculer le montant total et le bénéfice
TABLE_VENTES[TABLE_VENTES].COL_MT = Val(SAI_VPDV) * Val(SAI_VQTE)
TABLE_VENTES[TABLE_VENTES].COL_Bénf = (Val(SAI_VPDV) - Val(SAI_VPDR)) * Val(SAI_VQTE)
// Ajouter une ligne à la table des ventes et stocker l'index dans une variable
TableAjouteLigne(TABLE_VENTES)
TableSelectPlus(TABLE_VENTES, TableOccurrence(TABLE_VENTES) - 1) // Sélectionner la dernière
ligne ajoutée
// Affecter les valeurs aux colonnes de la ligne sélectionnée
TABLE_VENTES.COL_Réf = [Link]
TABLE_VENTES.COL_NDP = COMBO_VNDP
TABLE_VENTES.COL_Qté = Val(SAI_VQTE)
TABLE_VENTES.COL_PDR = Val(SAI_VPDR)
TABLE_VENTES.COL_PDV = Val(SAI_VPDV)
TABLE_VENTES.COL_MT = TABLE_VENTES[TABLE_VENTES].COL_MT
TABLE_VENTES.COL_Bénf = TABLE_VENTES[TABLE_VENTES].COL_Bénf
// Mettre à jour le stock
[Link] -= Val(SAI_VQTE)
HModifie(Produit)
// Réinitialiser les champs après l'ajout
COMBO_VNDP = ""
COMBO_VC = ""
SAI_VQTE = ""
SAI_VPDV = 0
SAI_VPDR = 0
Info("Vente enregistrée avec succès!")
SINON
Info("Produit non trouvé dans la base de données.")
FIN
Onglet
PROCÉDURE ONGLET_MENU_Change()
SELON OngletDuChamp(ONG_MENU)
CAS 1 // Ventes
TableAffiche(TABLE_VENTES)
CAS 2 // Clients
TableAffiche(TABLE_SansNom2)
CAS 3 // Stock
TableAffiche(TABLE_ST)
CAS 4 // Statistiques
// Charger les données des statistiques ici
FIN
Modifier button de stock
// Modifier un produit sélectionné
PROCÉDURE ModifierProduit()
SI TableSelect(TABLE_ST) = -1 ALORS
Info("Veuillez sélectionner un produit à modifier.")
RETOUR
FIN
// Récupérer l'ID du produit sélectionné
HLitRecherche(Produit, IDProduit,[Link])
SI HTrouve(Produit) ALORS
[Link] = SAI_SREF
[Link] = SAI_SNDP
[Link] = SAI_SQT
[Link] = SAI_SPDR
[Link] = SAI_SPDV
[Link] = SAI_SDATE
HModifie(Produit)
TableAffiche(TABLE_ST, taInit)
Info("Produit modifié avec succès !")
SINON
Info("Erreur : Produit introuvable dans la base de données.")
FIN
//Working ADD button of Stock with manual Réf
// Ajouter un produit dans la base de données
PROCÉDURE AjouterProduit()
// Vérification des champs obligatoires
SI SAI_SNDP = "" OU SAI_SPDV = "" OU SAI_SPDR = "" OU SAI_SQT = "" OU SAI_SDATE = "" OU SAI_SREF
ALORS
Info("Veuillez remplir tous les champs obligatoires.")
RETOUR
FIN
// Ajouter un produit à la base de données
HAjoute(Produit)
[Link] = SAI_SREF
[Link] = SAI_SNDP
[Link] = SAI_SQT
[Link] = SAI_SPDR
[Link] = SAI_SPDV
[Link] = SAI_SDATE
HEnregistre(Produit)
// Rafraîchir l'affichage de la table
TableAffiche(TABLE_ST, taInit)
// Réinitialiser les champs
SAI_SNDP = ""
SAI_SPDV = ""
SAI_SPDR = ""
SAI_SQT = ""
SAI_SDATE = ""
SAI_SREF = ""
Info("Produit ajouté avec succès !")