- Code: Tout sélectionner
[b]ouverture de l'état[/b]
gsTxt=
[
SELECT Pisteurs.CodePist AS CodePist,
Pisteurs.NomPist AS NomPist,
Pisteurs.PrenomsPist AS PrenomsPist,
Pisteurs.Residance AS Residance,
Pisteurs.Photo AS Photo
FROM PISTEURS
WHERE Pisteurs.CodePist IN (SELECT Livraisons.CodePist From Livraisons) OR Pisteurs.CodePist IN (SELECT Mandats.CodePist From Mandats)
]
HExécuteRequêteSQL(gsdRst,hRequêteDéfaut,gsTxt)
HLitPremier(gsdRst,"CodePist")
[b]Lecture de données[/b]
SI HEnDehors() ALORS
// Arrêt de l'impression du bloc Corps
RENVOYER Faux
SINON
// Impression du bloc Corps et exécution de ses traitements
RENVOYER Vrai
FIN
là où il y'à problème
il y' a trop de calcule à faire pour chaque individu Exp: 200 clients dont on veut connaitre un bilan journalier qui consiste à:
explication Un client reçois plusieurs fois de l'argent à des dates différentes et en retour livre des produit café cacao à des prix donc un bilan journalier sur un état un nécessaire.
- Code: Tout sélectionner
GlobCodePist=""
moTotal_Mdt_Credit est un monétaire
moTotal_Mdt_Achat est un monétaire
moTotal_Mdts est un monétaire
NbSr est un entier
Mavs est un monétaire
moLvrsGlog est un monétaire
GlobCodePist=gsdRst.CodePist
moTotal_Mdt_Achat=0
moTotal_Mdt_Credit=0
//HOptimiseRequête(MatMultiplie(
POUR TOUT Mandats AVEC CodePist = gsdRst.CodePist
SELON Mandats.Types
CAS "Credits"
moTotal_Mdt_Credit+=Mandats.MontantRecus
CAS "Achats"
moTotal_Mdt_Achat+=Mandats.MontantRecus
FIN
FIN
moTotal_Mdts=moTotal_Mdt_Credit+moTotal_Mdt_Achat
gsCriter=
[
SELECT
Pisteurs.CodePist AS CodePist,
Livraisons.NumBL AS NumBL_Li,
Livraisons.DateRcp AS DateRcp,
Pesages.CodeArt AS CodeArt,
Pesages.SacsPes AS SacsPes,
Pesages.PoidsNet AS PoidsNet,
Pesages.PrixKg AS PrixKg,
Pesages.PCom AS PCom,
Livraisons.Avance AS Avance,
SUM(Pesages.PoidsNet * Pesages.PrixKg) AS Montant_Tot,
SUM(Pesages.PoidsNet * Pesages.PCom) AS Montant_Comm,
Livraisons.ModeReglement AS ModeReglement
FROM
Livraisons,
Pesages,
Pisteurs
WHERE
Livraisons.NumBL = Pesages.NumBL
AND Pisteurs.CodePist = Livraisons.CodePist
GROUP BY
Pisteurs.CodePist,
Livraisons.NumBL,
Pesages.CodeArt,
Pesages.SacsPes,
Pesages.PoidsNet,
Pesages.PrixKg,
Pesages.PCom,
Livraisons.DateRcp,
Livraisons.ModeReglement,
Livraisons.Avance
]
moTotal_Lvs_Payé est un monétaire
moTotal_Lvs_Non_Payé est un monétaire
moTotal_Lvrs est un monétaire
HExécuteRequêteSQL(gsdRst0,hRequêteDéfaut,gsCriter)
moTotal_Lvs_Payé=0
moTotal_Lvs_Non_Payé=0
Mavs=0
POUR TOUT gsdRst0 AVEC CodePist =GlobCodePist
SELON gsdRst0.ModeReglement
CAS "Non_Payé"
moTotal_Lvs_Non_Payé+=gsdRst0.Montant_Tot
Mavs=gsdRst0.Avance
CAS "Payé"
moTotal_Lvs_Payé+=gsdRst0.Montant_Tot
FIN
FIN
moTotal_Lvrs=moTotal_Lvs_Non_Payé+moTotal_Lvs_Payé
NbSr=LesSacSortie(GlobCodePist)-LesSacEntre(GlobCodePist)
RUB_RUBRIQUE1=gsdRst.Codepist
RUB_RUBRIQUE2=gsdRst.Nompist
RUB_RUBRIQUE3=gsdRst.PrenomsPist
RUB_RUBRIQUE4=gsdRst.Residance
RUB_RUBRIQUE5=moTotal_Mdts
RUB_RUBRIQUE6=moTotal_Lvs_Non_Payé
RUB_RUBRIQUE11=moTotal_Mdts+Mavs-moTotal_Lvrs
//moTotal_Mdt_Achat
RUB_RUBRIQUE8=moTotal_Mdt_Credit
RUB_RUBRIQUE10=moTotal_Lvrs
RUB_RUBRIQUE9=Mavs
RUB_RUBRIQUE7=(Mavs)-moTotal_Lvs_Non_Payé
RUB_RUBRIQUE12=NbSr
CALC_CALCUL1+=RUB_RUBRIQUE7
HLitSuivant(gsdRst,CodePist)
aidez moi c'est un peut lent je cherche des conseil merci

