Utilisation module PrestaShop PrestaPricing » 

[SOLVED] Problème import xls sur références fournisseurs des déclinaisons

Auteur Message

Zebx

Inscrit le : 08/02/2014

Messages : 31

Publié : 12/02/2014 23:51:41 "Citer"

Hello,

Je décris ma manip pour arriver au problème :

- Import xls de déclinaisons
- Clé de synchro pour produits et déclinaisons : références
- je mappe (et à ce stade les id produits ne sont pas encore reconnus dans la liste affichée, normal)
- j'importe les déclinaisons
- les références fournisseurs des déclinaisons s'affichent bien dans PrestaPricing (fenêtre principale)

Mais :
Si je vais dans le BO de Prestashop sous l'onglet Fournisseurs, aucune référence n'apparaît

En fait cette référence doit se trouver dans 2 tables de la BD : psa_product_attribute & psa_product_supplier

La mise à jour dans psa_product_attribute est ok, ce qui explique que la fenêtre principale PrestaPricing affiche bien une référence.
En revanche, dans psa_product_supplier ça déraille, les lignes des nouvelles déclinaisons s' ajoutent mais le lien vers le produit principal est cassé car il se met toujours à 0.

Ceci étant, si je refais une seconde importation directement dans la foulée (à ce moment là l'id du produit s'était affiché dans la fenêtre d'import), là le lien produit dans psa_product_supplier est correct

Hypothèse et conclusion :
Lors de l'import des déclinaisons, il faut sans doute détecter l'id produit avant de mettre à jour la table psa_product_supplier ;)

NB : pour l'instant avec ce bug, ça génère 2 fois trop d'entrées dans la table car les lignes vers le produit 0 restent.

NB2 : le prix d'achat et la devise dans cette table ne semblent pas être gérés par l'import, ce serait peut-être utile... d'autant que les prix d'achat sont déjà gérés dans les déclinaisons.

A+
Zebx

Sitolog

Inscrit le : 04/12/2011

Messages : 524

Publié : 23/02/2014 09:52:19 "Citer"

Bonjour,

Je ne crois pas que ce soit un bug, je n'ai pas tout compris, mais je crois qu'il s'agit d'un pb de logique dasn le choix des clés de synchro.

Merci de m'appeler demain matin pour que l'on fasse cet import ensemble.

NB2: C'est exact, colonnes non gérées pour le moment par l'import. J'ai déjà noté de les rajouter (bien que je ne sache pas à quoi elles servent dans Prestashop).

Crdlt
Franck

Zebx

Inscrit le : 08/02/2014

Messages : 31

Publié : 23/02/2014 19:10:55 "Citer"

Hello,

Pour refaire le test chez moi, il faudrait que je refasse une install de PS pour avoir une BD vierge, car là tous mes produits sont déjà importés... à moins de créer des nouveaux produits bidons...

Si je t'envoie le fichier d'import, tu peux peut-être déjà faire un essai de ton côté non?

Je ne pense pas avoir fait d'erreur sur les clés de synchro. S'agissant de la création de nouveaux produits je n'ai pas d'autre choix que d'utiliser des clés uniques internes, à savoir dans mon cas mes références produits/déclinaisons.

De nouveau ce n'est pas un bug très handicapant... ça n'empêche pas de bosser ;)

Sitolog

Inscrit le : 04/12/2011

Messages : 524

Publié : 23/02/2014 19:26:32 "Citer"

Quote Zebx :
Hello,

Pour refaire le test chez moi, il faudrait que je refasse une install de PS pour avoir une BD vierge, car là tous mes produits sont déjà importés... à moins de créer des nouveaux produits bidons...

Si je t'envoie le fichier d'import, tu peux peut-être déjà faire un essai de ton côté non?


Cela ne servira à rien si le problème est un problème de méthode, de mapping, de clé etc...

Quote Zebx :

Je ne pense pas avoir fait d'erreur sur les clés de synchro. S'agissant de la création de nouveaux produits je n'ai pas d'autre choix que d'utiliser des clés uniques internes, à savoir dans mon cas mes références produits/déclinaisons.
;)


Ce qui est inexact. Même lors de la création de nouveaux produits, on peux parfaitement utiliser n'importe quelle clé (même les identifiants).
Pour créer de nouveaux produits, il suffit toujours que la valeur fournies pour cette clé soit inconnues dans la base ou alors simplement non fournie (ou 0 pour les ids).

D'autre part, si on travaille sur les déclinaisons, cela ne fonctionne justement que si la colonne clé de synchro produits choisie, contient des valeurs qui correspondent à des produits déjà existants.
Logique, pour créer une déclinaison, il faut toujours qu'il sache à quel produit (-existant- car il ne peut pas le créer en même temps. Dans cette version 5.3 en tous cas car cela va changer) la rattacher.
Et c'est je pense pour cela justement que vous vous retrouvez avec des valeurs nulles pour l'id_product dans la table des réferences fournisseurs.

Lors de la seconde passe d'import, les produits sont trouvés et la ça roule. Logique tout ça.

Quote Zebx :

De nouveau ce n'est pas un bug très handicapant... ça n'empêche pas de bosser ;)


Tant mieux car un bug non vu/reproductible de mon coté ne peut être corrigé. Je clos le topic, mais vous encourage à me contacter en direct si jamais il se reproduit, car pour cette fois je reste assez convaincu qu'il s'agit d'une erreur de paramétrage, que j'aimerais vraiment refaire avec vous pour m'en assurer. Je peux me tromper bien sûr, donc Zopim/TeamViewer si c'est le cas !

Crdlt
Franck

Zebx

Inscrit le : 08/02/2014

Messages : 31

Publié : 23/02/2014 22:14:13 "Citer"

Huhu, je crois que si j'avais un problème de mapping ou de clé ça aurait déjà mis un foutoir monstrueux dans ma BD

Or tout se déroule à merveilles excepté cette référence fournisseur (de la table des fournisseurs) qui ne fait le lien avec le produit qu'en effectuant 2 imports successifs.

Quote Franck B. :

Ce qui est inexact. Même lors de la création de nouveaux produits, on peux parfaitement utiliser n'importe quelle clé (même les identifiants).
Pour créer de nouveaux produits, il suffit toujours que la valeur fournies pour cette clé soit inconnues dans la base ou alors simplement non fournie (ou 0 pour les ids).

C'est vrai... m'enfin je pars du principe que mon fichier servira aussi à faire des mises à jour ensuite, donc je préfère laisser le système créer les id et faire ma synchro sur les ref internes. Mais j'admets, ceci est plus un choix de fonctionnement qu'autre chose ;)

Quote Franck B. :

D'autre part, si on travaille sur les déclinaisons, cela ne fonctionne justement que si la colonne clé de synchro produits choisie, contient des valeurs qui correspondent à des produits déjà existants.

C'est le cas.

Quote Franck B. :

Logique, pour créer une déclinaison, il faut toujours qu'il sache à quel produit (-existant- car il ne peut pas le créer en même temps. Dans cette version 5.3 en tous cas car cela va changer) la rattacher.
Et c'est je pense pour cela justement que vous vous retrouvez avec des valeurs nulles pour l'id_product dans la table des réferences fournisseurs.

Lors de la seconde passe d'import, les produits sont trouvés et la ça roule. Logique tout ça.

Lors de la première passe les déclinaisons sont pourtant déjà bien rattachées au bon produit. La seule différence avec la seconde passe c'est que PrestaPricing a entre-temps "rapatrié" les id des produits permettant dès lors de faire le lien dans la table des références fournisseurs.

A mon avis, ce bug peut être reproduit avec n'importe quel fichier d'import de déclinaisons, dès lors qu'on n'utilise pas les id comme clé de synchro produits.

Je me suis repenché sur la question du test à refaire chez moi et en fait j'ai dit une bêtise, j'ai pas besoin d'une bd vierge car le bug est reproductible même en cas de mise à jour des déclinaisons... pas besoin d'en créer des nouvelles. il suffit de modifier la réf fournisseur manuellement, et pareil, 2 passes d'import sont nécessaires pour réinjecter la bonne réf dans les 2 tables.

Conclusion, je peux reproduire à l'infini, donc pas de souci pour un Teamviewer

Mais vous pourriez aussi faire un rapide test de votre côté avec n'importe quel fichier de déclinaisons et une clé de synchro produit autre que l'id... si j'ai raison vous verrez que la réf fournisseur ne se met pas à jour dans la fiche produit du BO lors de la première passe.

Si j'ai tort, alors un Teamviewer s'imposera pour voir si je merdouille quelque-part ou si je suis dans un cas particulier

A+
Zebx

PS: Zopim était en vert tout à l'heure mais ça me demandait de choisir un interlocuteur, or la liste déroulante était vide. C'est normal?

Sitolog

Inscrit le : 04/12/2011

Messages : 524

Publié : 23/02/2014 22:43:59 "Citer"

Bonsoir,

Désolé, Zopim était en effet resté au vert, alors que je n'étais pas connecté. J'ai fait un reset à l'instant.

J'ai relu vos dernières explications et ce que vous me décrivez ressemble effectivement à un bug. J'essaie de faire la même chose demain matin.

Crdlt
Franck

Sitolog

Inscrit le : 04/12/2011

Messages : 524

Publié : 06/03/2014 19:05:03 "Citer"

Bonjour,

J'ai remis le nez dans le code et trouvé l'erreur. Effectivement PP cherchait le produit en lisant l'id dans la colonne id_product, qui n'est fournie que lorsque la clé est l'identifiant, pas dans le cas de la référence. Bravo pour votre analyse.

C'est corrigé dans le code de la prochaine version.... Qui devrait d'ailleurs sortir en même temps que la version 1.6 de Prestashop (et sera compatible ).

Crdlt
Franck

Zebx

Inscrit le : 08/02/2014

Messages : 31

Publié : 06/03/2014 22:34:15 "Citer"

Bonjour,

Merciii

Et super nouvelle pour la v1.6 ;)

Au plaisir,
Zebx

Réglages
  • Identification
Menu