Jump to content

Cellule vide pour "Supplier reference #" lors de l'export


Recommended Posts

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

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 by doekia (see edit history)
Link to comment
Share on other sites

 

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 by balaizeben (see edit history)
Link to comment
Share on other sites

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

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

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(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 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
 

Edited by doekia (see edit history)
Link to comment
Share on other sites

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

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 by doekia (see edit history)
Link to comment
Share on other sites

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

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

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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...