|
|
Code Windev pour afficher une requete sur la Vente mensuelle par articles et generer les stats |
|
|
Anonyme
|
Salut Les amis Nous sommes un petit groupe qui vient juste d'acquerir windev et on est entrain de construire une petite application. Actuellement on est bloqué et voici notre probleme: On aimerait creer une requete sql(vente mensuelle par articles) dont les données vont etre affichées sur une table memoire comme le montre le tableau ci-dessous: ----------------------------------------------------------- 2003|Jan|Feb|Mars |Avril|..... | | Dec | |Total| ----------------------------------------------------------- art1 |119.5|33.63| |152.98| ---------------------------------------------------------- art2 |59.68| |537.08| |596.76| ---------------------------------------------------------- art3 |1541.78| |1541.78| --------------------------------------------------------- Total |119.5||93 .31| |2078.86| ------------------------------------------------------- 2)Ensuite on aimerait avoir sur l'ecran contenant le tableau une graphe en fonction du mois le nombre d'articles vendu. Nous apprécieront bien votre aide . Merci
Contribution le : 01/09/2004 22:23
|
|
|
|
|
Re: Code Windev pour afficher une requete sur la Vente mensuelle par articles et generer les stats |
|
|
Anonyme
|
Bonjour ,
Vous bloquez a quel niveau , sql? graphe? affichage dans table ?
Il serait bon de donner l'organisation de vos fichiers si vous voulez qu'on vous aide a faire votre requete.
Contribution le : 02/09/2004 11:34
|
|
|
|
|
Re: Code Windev pour afficher une requete sur la Vente mensuelle par articles et generer les stats |
|
|
Anonyme
|
SQL graphe et table memoire... Merci
Contribution le : 02/09/2004 13:50
|
|
|
|
|
Re: Code Windev pour afficher une requete sur la Vente mensuelle par articles et generer les stats |
|
|
Anonyme
|
Avez-vous déja effectuer une analyse ? Je veux dire vus avez un fichier article,comment il est structurer ...
De cette façon je pourrais vous donner une requete SQL exacte
Contribution le : 03/09/2004 13:40
|
|
|
|
|
Re: Code Windev pour afficher une requete sur la Vente mensuelle par articles et generer les stats |
|
|
Anonyme
|
Salut Voici le fichier "ARTICLE" Reference Cle primaire Chaine(50) Libelle Chaine (100) IDCategorie Cle secondaire Chaine(50) PUHT Monetaire Code TVA Reel GestStock booleen Minalert entier Description Chaine (200)
Table Categorie IDCategorie Cle Primaire Chaine(50)
Votre aide sera bien appreciee. Merci
Contribution le : 04/09/2004 02:40
|
|
|
|
|
Re: Code Windev pour afficher une requete sur la Vente mensuelle par articles et generer les stats |
|
Animateur WDF 
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour, A mon avis l?exécution d?une requête SQL de ce type ne me semble pas applicable sur le moteur Hyper File. Avis aux Experts Idée1) Créer la structure du fichier qui doit recevoir les données à afficher dans la table.- Id Article - Janvier - Février - etc.? Re-générer votre Analyse Si vous ne désirer pas modifier votre analyse vous pouvez utiliser la Description de fichier par code je vous invite à lire les dossiers suivants écrit par R&B : - Source de données- Alias temporaires 2) Filtrer le fichier des ventes Appliquer un filtre sur l?année voulue via la fonction HfiltreCompisEntre() 3) Parcours du fichier des ventesRecréer le fichier à vide via Hcréation() effectuer un parcours sur toutes les lignes A Tester : a savoir s'il est plus rapide d?alimenter une vue ou une Source de données et d?appliquer les modifications sur le fichier ou bien d?écrire ligne par ligne dans le fichier Je pense que la vue ou la source de données sera le plus rapide du fait du nombre d?opération qui exister sur chaque produit. Donc pour chaque ligne du fichier des ventes : -Si l?Id Fichier n?existe pas créer la ligne -Ajouter la valeur voulue au champ correspondant en fonction du mois de l?opération 4) Afficher les donnéesUtiliser une table fichier, car l?affichage à partir d?un fichier physique me parait plus rapide sur une table fichier que sur une table mémoire
Contribution le : 04/09/2004 16:16
|
|
|
|
|
Re: Code Windev pour afficher une requete sur la Vente mensuelle par articles et generer les stats |
|
|
Anonyme
|
Salut N'oublie pas que j'ai une fiche de facture et ligne facture dans laquelle (detail facture) tu as Reference, Designation, QTé, PUHT MontTVA et MontHT, et au bas de ma fiche, on recupere le montant TVA, Total HT et Total TTC .Je dois mentionner qu'il existe un champ date dans la fiche pour me renseigner quand est ce qu'un article a été vendu . Donc toutes les informations pertinentes si trouvent . Merci
Contribution le : 04/09/2004 16:48
|
|
|
|
|
Re: Code Windev pour afficher une requete sur la Vente mensuelle par articles et generer les stats |
|
Animateur WDF 
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Salut Citation : N'oublie pas que j'ai une fiche de facture et ligne facture dans laquelle (detail facture) tu as Reference, Designation, QTé, PUHT MontTVA et MontHT,
[humour] Et bien non j'étais pas au courant, puisque tu n'en avais pas encore parlé. [/humour] Cela ne change rien à la méthode proposée Le lien entre la fiche facture et les lignes de factures se fait tout simplement par un HLitRecherche() Comme vous semblez bloqués voici quelques lignes de code pour vous éclairer sur l'idée Exemple:
RsL est une Source de Données
Sql est une chaîne
Df est une Description de Fichier
Dr est une Description de Rubrique
sFicFacture est une chaîne = "CLICDEH" //Nom du fichier Facture
sFicLigne est une chaîne = "CLICDEL" //Nom du fichier ligne de facture
sFicStat est une chaîne = "STAT1" //Nom du fichier temporaire pour statistique mensuelle
sDateDebut est une chaîne = "20030101" //Date début stat
sDateFin est une chaîne = "20031231" //Date fin Stat
sRubriqueParcours est une chaîne = "DatePiece" //Nom de la rubrique de parcours sur fichier facture
sRubIdArticle est une chaîne = "GUIARTICLE" //Nom de rubrique Identifiant Article Idem au Fichier facture
sCleParcours est une chaîne //Va contenir la clé de parcours la mieux adaptée
sIdFacture est une chaîne = "NumeroDePiece" //Nom de la rubrique Id de Facture lier et de meme nom que dans Ligne de facture
sRubARenvoyer est une chaîne = "MontantTotalHT" //Nom de la rubrique qui contient la valeur à calculer
tMois est une chaîne = "Janvier,Fevrier,Mars,Avril,Mai,Juin,Juillet,Aout,Septembre,Octobre,Novembre,Decembre"
sUnMois est une chaîne
Ind est un entier
nMNTVente est un réel
Sablier(Vrai)
//Description dynamique du fichier
//Si vous ne voulez pas modifier votre analyse.
Df..Nom = sFicStat
Df..Type = hFichierTemporaire
//Description de la rubrique IDStat
Dr..Nom = "IDStat"
Dr..Type = hRubIdAuto
Dr..TypeClé = hCléUnique
HDécritRubrique(Df,Dr)
//Description de la rubrique IDArticle
Dr..Nom = sRubIdArticle
Dr..Type =hRubEntier8
Dr..TypeClé = hCléUnique
HDécritRubrique(Df,Dr)
//Description des rubriques mois
Ind = 1
sUnMois = ExtraitChaîne(tMois,Ind,",")
TANTQUE sUnMois <> EOT
Dr..Nom = sUnMois
Dr..Type =hRubMonétaire
HDécritRubrique(Df,Dr)
Ind++
sUnMois = ExtraitChaîne(tMois,Ind,",")
FIN
HDécritFichier(Df)
//Création du fichier
HChangeRep(sFicStat,fRepEnCours())
HCréation(sFicStat)
//Creation de la vue
HCréeVue(RsL,sFicStat,"*",hVueBlocage)
//Création du filtre sur le fichier Facture
sCleParcours = HFiltreComprisEntre(sFicFacture,sRubriqueParcours,sDateDebut,hSéparateurBorne,sDateFin)
//Parcours du fichier
HLitPremier(sFicFacture,sCleParcours,hBlocageNon)
TANTQUE PAS HEnDehors()
//Recherche par IdFacture
HLitRecherche(sFicLigne,sIdFacture,{sFicFacture+"."+sIdFacture},hBlocageNon)
nMNTVente=0
TANTQUE HTrouve(sFicLigne)
nMNTVente+={sFicLigne+"."+sRubARenvoyer}
HLitSuivant(sFicLigne,sIdFacture)
FIN
Ind = Val({sFicFacture+"."+sRubriqueParcours}[[5 A 6]])
//Recherche si l'Article à déjà éte Créé
SI PAS HLitRecherche(RsL,sRubIdArticle,{sFicLigne+"."+sRubIdArticle}) ALORS
{"Rsl."+sRubIdArticle} = {sFicLigne+"."+sRubIdArticle}
{"Rsl."+ExtraitChaîne(tMois,Ind,",")}+= nMNTVente
SI PAS HAjoute(RsL,hIgnoreIntégrité+hIgnoreDoublon) ALORS
Erreur(HErreurInfo())
STOP
FIN
SINON
{"Rsl."+ExtraitChaîne(tMois,Ind,",")} = nMNTVente
SI PAS HModifie(RsL,hNumEnrEnCours,hIgnoreIntégrité+hIgnoreDoublon) ALORS
Erreur(HErreurInfo())
STOP
FIN
FIN
HLitSuivant(sFicFacture,sCleParcours)
FIN
HVueVersFichier(RsL)
Sablier(Faux)
Ce code à été testé et fonctionne Encore faut il renseigner correctement les variables de déclaration Durée du traitement sur un fichier de 150 000 enregistrements : 3 secondes en local Pour remplir une table mémoire par programmation vous pouvez ajouter à la fin du traitement Nom de table créé : ?Table?
ConstruitTableFichier(Table,RsL,taSansMémoImage+taSansMémoTexte+taLibelléRubrique+taRemplirTable)
Et voilà vos données sont affichées dans une table mémoire De plus en cliquant sur les colonnes vous pouvez connaître les produits les plus vendus pour le mois voulu.
Contribution le : 05/09/2004 02:15
|
|
|
|
|
Re: Code Windev pour afficher une requete sur la Vente mensuelle par articles et generer les stats |
|
|
Anonyme
|
Merci drcharly93....Je te tiendrai au courant... Nous te remercions beaucoup
Contribution le : 05/09/2004 03:16
|
|
|
|
|
Re: Code Windev pour afficher une requete sur la Vente mensuelle par articles et generer les stats |
|
|
Anonyme
|
Salut Je cherche procedure pour afficher une mensuelle sur les produits.quelqu'un pourrait il m'expliquer quèest ce code fait et comment l'adapter à mes besoins. Merci
Contribution le : 02/05/2005 05:26
|
|
|
|
|
Re: Code Windev pour afficher une requete sur la Vente mensuelle par articles et generer les stats |
|
|
Anonyme
|
Salut
Quelqu'un pourrait il nous expliquer ce que cette requete fait. A+
Contribution le : 19/05/2005 14:05
|
|
|
|
|
Re: Code Windev pour afficher une requete sur la Vente mensuelle par articles et generer les stats |
|
Animateur WDF 
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour,
Il ne s'agit pas d'une requête mais plus précisemment d'une procédure qui effectue :
- Création dynamique d'un fichier contenant les rubriques: -- ISStat, sRubIdArticle, Janvier, Fevrier, Mars, Avril, Mai, Juin, Juillet, Aout, Septembre, Octobre, Novembre et Decembre. - Création d'une vue sur le fichier des lignes de facture. - Création d'un filtre sur le fichier des factures - Parcours du fichier des factures filtrés et alimentaion du fichier dynamique précedement créé. - Affichage du fichier dynamique dans une table mémoire
Contribution le : 20/05/2005 10:23
|
|
|
|
|
Re: Code Windev pour afficher une requete sur la Vente mensuelle par articles et generer les stats |
|
|
Anonyme
|
Salut Est il possible de m'édifier sur cette ligne de commentaire: "Ce code à été testé et fonctionne Encore faut il renseigner correctement les variables de déclaration" -aussi si tu dispose d'une table facture(Cle NumFacture est une chaine et ligne de facture(IDlignefact est un idauto),y aurait il des changement a faire dans le present code . Je suis curieux de le tester. Amicalement
Contribution le : 20/05/2005 13:58
|
|
|
|
|
Re: Code Windev pour afficher une requete sur la Vente mensuelle par articles et generer les stats |
|
Animateur WDF 
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour, Ce code avait été écrit de façon à ce que que seules la valeurs des variables soient à modifier. Par conséquent: sFicFacture est une chaîne = "CLICDEH" //Nom du fichier Facture
sFicLigne est une chaîne = "CLICDEL" //Nom du fichier ligne de facture
sFicStat est une chaîne = "STAT1" //Nom du fichier temporaire pour statistique mensuelle
sDateDebut est une chaîne = "20030101" //Date début stat
sDateFin est une chaîne = "20031231" //Date fin Stat
sRubriqueParcours est une chaîne = "DatePiece" //Nom de la rubrique de parcours sur fichier facture
sRubIdArticle est une chaîne = "GUIARTICLE" //Nom de rubrique Identifiant Article Idem au Fichier facture
sIdFacture est une chaîne = "NumeroDePiece" //Nom de la rubrique Id de Facture lier et de meme nom que dans Ligne de facture
sRubARenvoyer est une chaîne = "MontantTotalHT" //Nom de la rubrique qui contient la valeur à calculer A l'exception de "STAT1" qui est un fichier créer dynamiquement, toutes les autres valeurs sont à modifier pour qu"elles correspondent aux noms, soit des fichiers ou bien des rubriques. en dehors de la déclaration et de l'initialisation des varibles le code ne devrait pas avoir à subir de changement. Quand je dit : Citation : Ce code à été testé et fonctionne c'est tout simplement que jai utiliser des données en ma possession pour tester cette procédure, et que je n'ai eu à modifier que la valeur des variables déclarées en situées en haut du code fourni.
Contribution le : 20/05/2005 14:37
|
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|