balaizeben Posted March 5, 2015 Share Posted March 5, 2015 Bonjour, lorsque j'exporte mes produits, la référence fournisseur n'apparait pas dans mon fichier créé ? Cette référence est pourtant bien présente dans la fiche produit mais lors de l'export non ?? J'ai essayé avec plusieurs modules d'export et également une requete SQL dans la base de données et même résultat ? Quelqu'un aurai une idée ? Merci Link to comment Share on other sites More sharing options...
doekia Posted March 5, 2015 Share Posted March 5, 2015 (edited) la référence fournisseur n'existe plus sur la fiche produit depuis longtemps. Elle est lié à la table product_supplier où tu retrouvera toutes les références de chaque fournisseur pour un produit. donc: select p.id_product, ps.id_supplier, ps.product_supplier_reference from ps_product p left join ps_product_supplier ps on ps.id_product = p.id_product Edited March 5, 2015 by doekia (see edit history) Link to comment Share on other sites More sharing options...
balaizeben Posted March 5, 2015 Author Share Posted March 5, 2015 (edited) la référence fournisseur n'existe plus sur la fiche produit depuis longtemps. Elle est lié à la table product_supplier où tu retrouvera toutes les références de chaque fournisseur pour un produit. donc: select p.id_product, ps.id_supplier, ps.product_supplier_reference from ps_product p left join ps_product_supplier ps on ps.id_product = p.id_product OK, merci, donc, on ne peut plu utiliser un module pour exporter ces produits alors ? C'est une requète SQl a faire dans PHPmyAdmin que tu as mis ? C'est bien ça ? Merci PS: Par contre la référence fournisseur est bien présente dans la fiche produit, onglet fournisseur, c'est de celle -ci que je parle. Edited March 5, 2015 by balaizeben (see edit history) Link to comment Share on other sites More sharing options...
doekia Posted March 5, 2015 Share Posted March 5, 2015 OK, merci, donc, on ne peut plu utiliser un module pour exporter ces produits alors ? C'est une requète SQl a faire dans PHPmyAdmin que tu as mis ? C'est bien ça ? Merci PS: Par contre la référence fournisseur est bien présente dans la fiche produit, onglet fournisseur, c'est de celle -ci que je parle. Je parle bien de cette référence, sur l'onglet fournisseur. Un module qui ne date pas de l'époque des dinosaures et dont le dev aura ajusté son code pourra bien sur faire l'export C'est une requête SQL en effet juste pour te donner le type de jointure à faire Link to comment Share on other sites More sharing options...
balaizeben Posted March 5, 2015 Author Share Posted March 5, 2015 Je parle bien de cette référence, sur l'onglet fournisseur. Un module qui ne date pas de l'époque des dinosaures et dont le dev aura ajusté son code pourra bien sur faire l'export C'est une requête SQL en effet juste pour te donner le type de jointure à faire OK, merci, mais n'étant pas une bête dans ce domaine... il n'y a pas un moyen d'exporter directement ses produits avec cette références fournisseurs dedans ? Merci Sinon,pour exporter mes produits j'avais utilisé cette requete SQL: " SELECT DISTINCT ps_product.id_product AS 'id_produit', ps_product.reference AS 'reference', ps_product.supplier_reference AS 'reference fournisseur', ps_product_lang.name AS 'designation' , ps_product.id_category_default AS 'categorie par defaut', ps_manufacturer.name AS 'marque', ps_product.price AS 'prix_ht', ps_product_lang.description_short AS 'resume', ps_product_lang.description AS 'Description', ps_product.quantity AS 'quantite', ps_product.active AS 'Actif (0.1)' FROM ps_product LEFT JOIN ( ps_category_product, ps_product_lang, ps_manufacturer) ON ( ps_product.id_product = ps_category_product.id_product AND ps_product.id_product=ps_product_lang.id_product AND ps_product.id_product=ps_product_lang.id_product AND ps_product.id_product = ps_category_product.id_product AND ps_product.id_manufacturer = ps_manufacturer.id_manufacturer ) select p.id_product, ps.id_supplier, ps.product_supplier_reference from ps_product p left join ps_product_supplier ps on ps.id_product = p.id_product " Je rajoute donc ta requête comme ceci ? Merci Sinon, si quelqu'un connait un module, je suis preneur naturellement. Link to comment Share on other sites More sharing options...
balaizeben Posted March 5, 2015 Author Share Posted March 5, 2015 (edited) De plus, je précise que les produits créés il y a un moment eux, sont bien présents lors de l'export, mais les produits ajouter récemment eux ne sont pas présents dans cette colonne " supplier reference" Dommage ce changement et pourquoi ? Edited March 5, 2015 by balaizeben (see edit history) Link to comment Share on other sites More sharing options...
doekia Posted March 5, 2015 Share Posted March 5, 2015 (edited) Le changement permet d'avoir plusieurs fournisseur ayant des références interne différente pour un même produit, ce qui était impossible avec un seul champ dans la table produit.Les anciens produit ont encore l'information que tu avais mise avant la mise à jour (mais n'est plus utilisée), lors de la mise à jour le script à migré le seul champ présent avant dans la nouvelle tableTa requête est mal écrite sinon tu n'aurais pas à faire de DISTINCT SELECT p.id_product, p.reference, group_concat(concat(psupp.id_supplier,':',psupp.product_supplier_reference)) as refs_fournisseur, pl.name, p.id_category_default, m.name as manufacturer_name, pshop.price as prix_ht, pl.description_short AS resume, pl.description AS description, sa.quantity as 'quantite', p.active FROM ps_product p LEFT JOIN ps_product_lang pl on pl.id_product = p.id_product and pl.id_lang = 1 and pl.id_shop = 1 LEFT JOIN ps_product_shop pshop on pshop.id_product = p.id_product and pshop.id_shop = 1 LEFT JOIN ps_manufacturer m on m.id_manufacturer = p.id_manufacturer LEFT JOIN ps_product_supplier psupp on psupp.id_product = p.id_product and psupp.id_product_attribute = 0 INNER JOIN ps_stock_available sa on sa.id_product = p.id_product and sa.id_product_attribute = 0 and sa.id_shop = 1 group by p.id_product Cette requête ne fonctionne que si tu n'a aucune déclinaison produit, que tu n'a pas de multishop et que le code de ta langue par défaut est 1Comme tu le vois il n'y pas que la référence que tu avais prise au mauvais endroit. La quantité... et le prix également.Pour la quantité il s'agit de la quantité dispo instantanée ... on pourrait trouver la quantité réèlle également Edited March 6, 2015 by doekia (see edit history) Link to comment Share on other sites More sharing options...
balaizeben Posted March 5, 2015 Author Share Posted March 5, 2015 Le changement permet d'avoir plusieurs fournisseur ayant des références interne différente pour un même produit, ce qui était impossible avec un seul champ dans la table produit. Les anciens produit ont encore l'information que tu avais mise avant la mise à jour (mais n'est plus utilisée), lors de la mise à jour le script à migré le seul champ présent avant dans la nouvelle table Ta requête est mal écrite sinon tu n'aurais pas à faire de DISTINCT SELECT p.id_product, p.reference, group_concat(concat(ps.id_supplier,':',psupp.supplier_reference)) as refs_fournisseur, pl.name, p.id_category_default, m.name as manufacturer_name, pshop.price as prix_ht, pl.description_short AS resume, pl.description AS description, sa.quantity as 'quantite', p.active FROM ps_product p LEFT JOIN ps_product_lang pl on pl.id_product = p.id_product and pl.id_lang = 1 and pl.id_shop = 1 LEFT JOIN ps_manufacturer m on m.id_manufacturer = p.id_manufacturer LEFT JOIN ps_product_supplier psupp on psupp.id_product = p.id_product and psupp.id_product_attribute = 0 INNER JOIN ps_stock_available sa on sa.id_product = p.id_product and sa.id_product_attribute = 0 and id_shop = 1 group by p.id_product Cette requête ne fonctionne que si tu n'a aucune déclinaison produit, que tu n'a pas de multishop et que le code de ta langue par défaut est 1 Comme tu le vois il n'y pas que la référence que tu avais prise au mauvais endroit. La quantité... et le prix également. Pour la quantité il s'agit de la quantité dispo instantanée ... on pourrait trouver la quantité réèlle également Merci, mais j'ai essayé ta requête, mais ça me fait une erreur: " #1054 - Unknown column 'ps.id_supplier' in 'field list' " Apparemment je n'ai pas de table " ps-id_supplier" ? Merci PS: Sinon, je peux toujours ajouter manuellement des produits et ajouter ma reference fournisseur dans l'onglet fournisseur de la fiche produit , ça ne posera pas de problème par la suite ? Link to comment Share on other sites More sharing options...
doekia Posted March 5, 2015 Share Posted March 5, 2015 non typo... psupp.id_supplier sur cette ligne group_concat(concat(ps.id_supplier,':',psupp.supplier_reference)) as refs_fournisseur, Link to comment Share on other sites More sharing options...
balaizeben Posted March 6, 2015 Author Share Posted March 6, 2015 non typo... psupp.id_supplier sur cette ligne group_concat(concat(ps.id_supplier,':',psupp.supplier_reference)) as refs_fournisseur, ?? c'est à dire ? Merci Link to comment Share on other sites More sharing options...
doekia Posted March 6, 2015 Share Posted March 6, 2015 (edited) c'est a dire remplacer dans la ligne citée la référence citée elle devient donc: group_concat(concat(psupp.id_supplier,':',psupp.supplier_reference)) as refs_fournisseur, j'avais également oublié une ligne: LEFT JOIN ps_product_shop pshop on pshop.id_product = p.id_product and pshop.id_shop = 1 Voir la requête corrigée (j'avais laissé 2 autres coquilles) https://www.prestashop.com/forums/topic/422750-cellule-vide-pour-supplier-reference-lors-de-lexport/?do=findComment&comment=1990592 Edited March 6, 2015 by doekia (see edit history) Link to comment Share on other sites More sharing options...
balaizeben Posted March 9, 2015 Author Share Posted March 9, 2015 c'est a dire remplacer dans la ligne citée la référence citée elle devient donc: group_concat(concat(psupp.id_supplier,':',psupp.supplier_reference)) as refs_fournisseur, j'avais également oublié une ligne: LEFT JOIN ps_product_shop pshop on pshop.id_product = p.id_product and pshop.id_shop = 1 Voir la requête corrigée (j'avais laissé 2 autres coquilles) https://www.prestashop.com/forums/topic/422750-cellule-vide-pour-supplier-reference-lors-de-lexport/?do=findComment&comment=1990592 OK, merci, désolé, je me suis absenté... Je test ça et reviens donner des nouvelles. Il existe aucun module actuellement permettant d'exporter une liste de produit avec la référence fournisseur ? Link to comment Share on other sites More sharing options...
balaizeben Posted March 16, 2015 Author Share Posted March 16, 2015 c'est a dire remplacer dans la ligne citée la référence citée elle devient donc: group_concat(concat(psupp.id_supplier,':',psupp.supplier_reference)) as refs_fournisseur, j'avais également oublié une ligne: LEFT JOIN ps_product_shop pshop on pshop.id_product = p.id_product and pshop.id_shop = 1 Voir la requête corrigée (j'avais laissé 2 autres coquilles) https://www.prestashop.com/forums/topic/422750-cellule-vide-pour-supplier-reference-lors-de-lexport/?do=findComment&comment=1990592 Bonjour, je reviens donner des nouvelles après mon absence ( désolé)... Alors en fait, j'ai bien la possibilité d'exporter la référence fournisseur comme ça, mais par contre devant ma référence, il y a un chifre et : devant , par exemple: " 3: REFFourn1" Aurai tu une idée ? Et y a t'il la possibilité de rajouter le fournisseur et le code EAN ? Merci Link to comment Share on other sites More sharing options...
doekia Posted March 16, 2015 Share Posted March 16, 2015 le chiffre je l'ai fait exprès ... c'est l'id du fournisseur ... ici: concat(psupp.id_supplier,':',psupp.supplier_reference) Link to comment Share on other sites More sharing options...
balaizeben Posted March 16, 2015 Author Share Posted March 16, 2015 le chiffre je l'ai fait exprès ... c'est l'id du fournisseur ... ici: concat(psupp.id_supplier,':',psupp.supplier_reference) OK, merci, effectivement c'est bon, j'ai modifié " concat(psupp.supplier_reference) " et ça fonctionne c'est bon, par contre peut-on rajouter une colonne " code EAN" et une colonne " Fournisseur " ? D'avance merci Link to comment Share on other sites More sharing options...
balaizeben Posted March 18, 2015 Author Share Posted March 18, 2015 le chiffre je l'ai fait exprès ... c'est l'id du fournisseur ... ici: concat(psupp.id_supplier,':',psupp.supplier_reference) Alors, j'utilise maintenant la requête : SELECT p.id_product, p.id_supplier, p.ean13, p.reference, p.wholesale_price, group_concat(concat(psupp.product_supplier_reference)) as refs_fournisseur, pl.name, p.id_category_default, m.name as manufacturer_name, pshop.price as prix_ht, pl.description_short AS resume, pl.description AS description, sa.quantity as 'quantite', p.active FROM ps_product p LEFT JOIN ps_product_lang pl on pl.id_product = p.id_product and pl.id_lang = 1 and pl.id_shop = 1 LEFT JOIN ps_product_shop pshop on pshop.id_product = p.id_product and pshop.id_shop = 1 LEFT JOIN ps_manufacturer m on m.id_manufacturer = p.id_manufacturer LEFT JOIN ps_product_supplier psupp on psupp.id_product = p.id_product and psupp.id_product_attribute = 0 INNER JOIN ps_stock_available sa on sa.id_product = p.id_product and sa.id_product_attribute = 0 and sa.id_shop = 1 group by p.id_product C'est pas mal, par contre j'aimerai exporter le nom du fournisseur, et pas son ID. Une idée ? Merci 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