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
| nIdConnection est un entier = SQLConnecte(NomSource,NomUtilisateur,PasseUtilisateur,"",TypeBase)
SI nIdConnection ALORS
TableSupprimeTout(TABLE_MaterielReception)
nNumCommande est un entier=TABLE_Reception.COL_CommandeId
//sdReq_Combo est une Source de Données
i est un entier = 0
gnMyRep=SQLExec(" SELECT t1.CommandeId CommandeId, t1.CommandeNo CommandeNo, t1.CommandeDate CommandeDate, t1.FournisseurId FournisseurId, t1.FournisseurNom FournisseurNom, t1.MaterielId MaterielId, t1.MaterielLibelle MaterielLibelle, t1.qte_commandee qte_commandee, t1.qte_commandee - COALESCE(SUM(t2.ReceptionQuantite), 0) AS reste_a_livrer"+...
" FROM"+...
" ("+...
" SELECT lc.CommandeId , c.CommandeNo, lc.MaterielId, m.MaterielLibelle, c.FournisseurId, f.FournisseurNom, c.CommandeDate, "+...
" lc.Quantite AS qte_commandee"+...
"FROM ligne_commande_fournisseur lc"+...
" INNER JOIN commande_fournisseur c ON c.CommandeId = lc.CommandeId"+...
" INNER JOIN fournisseur f ON f.FournisseurId = c.FournisseurId"+...
" INNER JOIN materiel m ON lc.MaterielId = m.MaterielId"+...
" WHERE lc.CommandeId ="+nNumCommande+""+...
") t1"+...
" LEFT OUTER JOIN"+...
" ("+...
" SELECT lr.MaterielId, lr.ReceptionQuantite FROM ligne_reception lr INNER JOIN reception r ON r.ReceptionId = lr.ReceptionId"+...
" WHERE r.CommandeId ="+nNumCommande+""+...
") t2 ON t2.MaterielId = t1.MaterielId"+...
" GROUP BY t1.CommandeId, t1.CommandeDate, t1.FournisseurId, t1.FournisseurNom, t1.MaterielId, t1.MaterielLibelle, t1.qte_commandee"+...
" HAVING t1.qte_commandee - COALESCE(SUM(t2.ReceptionQuantite), 0) > 0 ","req1")
SI gnMyRep ALORS
TANTQUE SQLFetch("req1")// Il y a encore une ligne à lire
CommandeId est un entier=SQLLitCol("req1", 1)
CommandeNo est une chaîne=SQLLitCol("req1", 2)
CommandeDate est une Date=SQLLitCol("req1", 3)
FournisseurId est un entier=SQLLitCol("req1", 4)
FournisseurNom est une chaîne=SQLLitCol("req1", 5)
MaterielId est un entier=SQLLitCol("req1", 6)
MaterielLibelle est une chaîne=SQLLitCol("req1", 7)
qte_commandee est un numérique=SQLLitCol("req1", 8)
reste_a_livrer est un numérique=SQLLitCol("req1", 9)
TableAjoute(TABLE_MaterielReception,CommandeId+TAB+CommandeNo+TAB+CommandeDate+TAB+FournisseurId+TAB+FournisseurNom+TAB+MaterielId+TAB+MaterielLibelle+TAB+qte_commandee+TAB+reste_a_livrer)
FIN
SINON
Info("erreur d'exécution de la reque"+Erreur(ErreurInfo()))
FIN
SQLFerme("req1")
//HLitPremier(Req_Combo)
//TANTQUE PAS HEnDehors(Req_Combo)
//TableAjoute(TABLE_MaterielReception,Req_Combo.CommandeId+TAB+Req_Combo.CommandeNo+TAB+Req_Combo.CommandeDate+TAB+Req_Combo.FournisseurId+TAB+Req_Combo.FournisseurNom+TAB+Req_Combo.MaterielId+TAB+Req_Combo.MaterielLibelle+TAB+Req_Combo.qte_commandee+TAB+Req_Combo.reste_a_livrer)
//HLitSuivant(Req_Combo)
//FIN
FIN |
Partager