nicomax17 Posted September 26, 2022 Share Posted September 26, 2022 Bonjour, Je tiens une boutique Prestashop 1.7 Ma clientèle est composée uniquement des 50 mêmes clients. Mon service gestion me demande si je peux, chaque mois, leur envoyer la consommation mensuelle en fichier Excel, des 50 clients, soit chaque mois 50 fichiers Excel ! J'ai regardé un petit peu ce qui se fait au niveau module mais à part envoyé la consommation globale (tous clients confondus) sur une période donnée et en 1 seul fichier, je n'ai pas trouvé de module adapté ! Mais peut-être qu'avec une requête SQL ça serait possible, ou un module plus complet existe-t-il !? J'ai installé le module gratuit BIG DATA. Mais vu que je suis un "blaireau" en MySQL, pourriez-vous m'aider à monter une requête qui me permettrait de générer 50 fichiers Excel facilement chaque mois ? Merci de vos lumières Nicolas Link to comment Share on other sites More sharing options...
juanrojas Posted September 26, 2022 Share Posted September 26, 2022 bonjour, quelles données doit-il contenir dans excel? Link to comment Share on other sites More sharing options...
nicomax17 Posted September 26, 2022 Author Share Posted September 26, 2022 Bonjour Juanrojas, Pour chaque fichier Excel client (pour chaque ligne) : - Le nom du produit - La référence du produit - le prix unit d'achat fournisseur - le prix de vente unit sur ma boutique - la quantité - le total Puis le total du mois Link to comment Share on other sites More sharing options...
naoch Posted September 27, 2022 Share Posted September 27, 2022 Salut, ça me semble possible et assez simple en php. Par contre a faire pour chaque client, une requete sql pour recuperer toutes les achats qui lui sont liés sur la durée du mois. Et avec les fonction excel de php, boucler sur le tableau de data et inserer avec un fput tu insere sur chaque ligne du csv les data. https://www.php.net/manual/fr/function.fopen.php https://www.php.net/manual/fr/function.fputcsv.php Link to comment Share on other sites More sharing options...
Mediacom87 Posted September 27, 2022 Share Posted September 27, 2022 Bonjour, Avez-vous regardé du côté de solutions comme StoreCommander ? Link to comment Share on other sites More sharing options...
nicomax17 Posted September 27, 2022 Author Share Posted September 27, 2022 (edited) Bonjour, Je pense que je n'en suis pas loin avec cette requête : SELECT c.`lastname` AS NOM, c.`firstname` AS PRÉNOM, ROUND(oi.`total_products`,2) AS 'TOTAL DE LA COMMANDE HT' FROM _DB_PREFIX_order_invoice oi LEFT OUTER JOIN _DB_PREFIX_orders o ON oi.`id_order` = o.`id_order` LEFT OUTER JOIN _DB_PREFIX_customer c ON o.`id_customer` = c.`id_customer` WHERE oi.`date_add` BETWEEN '2022-03-01' AND '2022-03-31' ORDER BY oi.`id_order_invoice` DESC Cette requête m'affiche sur un mois précis, toutes les commandes de chaque client (1 ligne = le total d'une commande de produits), comme ceci : NOM PRÉNOM TOTAL DE LA COMMANDE HT DUPONT Nico 50,00 DUPONT Nico 50,00 DUPONT Nico 100,00 BIDULE Bruno 20,00 BIDULE Bruno 30,00 BIDULE Bruno 50,00 Etc... >> Est-il possible de regrouper le total des commandes par client, comme ceci ? NOM PRÉNOM TOTAL DE LA COMMANDE HT DUPONT Nico 200,00 BIDULE Bruno 100,00 Etc... Edited September 27, 2022 by nicomax17 (see edit history) Link to comment Share on other sites More sharing options...
nicomax17 Posted September 27, 2022 Author Share Posted September 27, 2022 En réponse à naoch : Quote ça me semble possible et assez simple en php C'est vrai qu'avec un PHP qui bouclerait sur les 50 clients automatiquement pourrait me générer 50 fichiers Excel. Mais bon ! Compliqué à mettre en oeuvre pour moi ! ------------------- En réponse à Mediacom87 : Quote Avez-vous regardé du côté de solutions comme StoreCommander ? Pour le moment si je peux éviter une solution payante (surtout mensuelle)... mais c'est vrai que c'est puissant ! Link to comment Share on other sites More sharing options...
nicomax17 Posted September 30, 2022 Author Share Posted September 30, 2022 Re-bonjour, Sur la base de la requête ci-après, je me permets de ré-itèrer ma demande :>> Est-il possible de regrouper le total des commandes mensuelles pour chaque client, comme ceci ? NOM PRÉNOM TOTAL COMMANDES MENSUELLES DUPONT Nico 200,00 BIDULE Bruno 100,00 Etc... SELECT c.`lastname` AS NOM, c.`firstname` AS PRÉNOM, ROUND(oi.`total_products`,2) AS 'TOTAL DE LA COMMANDE HT' FROM _DB_PREFIX_order_invoice oi LEFT OUTER JOIN _DB_PREFIX_orders o ON oi.`id_order` = o.`id_order` LEFT OUTER JOIN _DB_PREFIX_customer c ON o.`id_customer` = c.`id_customer` WHERE oi.`date_add` BETWEEN '2022-03-01' AND '2022-03-31' ORDER BY oi.`id_order_invoice` DESC Autre possibilité !? : La fonction "Factures groupées", dans VENDRE >> Commandes >> Factures groupées, permet de générer par client, la totalité des commandes sur une période donnée. Sauf que le bouton "Obtenir la facture" me génère un pdf ! 😕 Et mon service gestion voudrait un Excel ! 😩 Y sont pas faciles avec moi 😓 Serait-il possible de récupérer la requête SQL de cette fonction "Factures groupées" ? Link to comment Share on other sites More sharing options...
Mdesign49 Posted November 9, 2022 Share Posted November 9, 2022 Bonjour, la requête devrait fonctionner en remplaçant : ROUND(oi.`total_products`,2) AS 'TOTAL DE LA COMMANDE HT' par SUM(oi.`total_products`) AS 'TOTAL DE LA COMMANDE HT' et ORDER BY oi.`id_order_invoice` DESC par GROUP BY c.`id_customer` DESC Link to comment Share on other sites More sharing options...
nicomax17 Posted November 10, 2022 Author Share Posted November 10, 2022 Merci beaucoup Mdesign49 ! Ça fonctionne parfaitement 👍 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now