trcom Posted February 26, 2018 Share Posted February 26, 2018 (edited) Bonjour je traite depuis novembre les mises a jour des stocks d'un client sur PS 1.6.1 de manière récurrente à la main chaque soir via SQL en suivant plusieurs requêtes qui attaquent les tables product / stock_available / product_attribute (requêtes présentées plus bas) On me transmet un CSV avec une feuille pour les produits (2 colonnes ID PRODUIT / QUANTITES) et une feuille pour les déclis (3 colonnes (ID PRODUIT / ID DECLINAISON PRODUIT / QUANTITES) et je constitue mes requêtes dans XLS en concaténant des cellules issues du CSV et les copie/colle dans SQL pour les executer. il se trouve que cela a super bien fonctionné pendant plusieurs mois, j'ai une version de dév sur laquelle l'erreur n'est pas reproduite, celle ci date d'un mois. depuis un mois j'ai un bug, SUR LE FRONT : les produits traités (dans leur énorme globalité, mais pas tous !) avec une décli ont bien du stock, mais cependant signalent : une alerte rouge "EN STOCK" sur la fiche produit ET Bouton AJOUT PANIER absent une alerte verte "EN STOCK" sur le listing produit EN BO : les quantités sont présentes et conformes au traitement dans les déclis, mais le produit n'affiche pas la somme des quantités des déclis en BO dans la liste des produits Cette quantité est à 0 alors que le cumul des déclinaisons pour ce produit est largement supérieur a 0 dans le csv je ne vois pas de différence entre les produits qui ne fonctionnent pas et ceux qui fonctionnent tout a l'air OK ... le CSV a l'air impeccable, et identique a avant quand ça fonctionnait Auriez vous une idée de ou cela peut provenir ? mes requêtes sont elles bonnes (elle fonctionnaient) ? cela peut il être dû au fichier CSV transmis aussi minimal soit il en termes de datas ? Mes requêtes sont les suivantes (je n'ai qu'une boutique ) : Pour les Produits 2 requetes : UPDATE `mabdd`.`ps_product` SET `quantity` = '82' WHERE `ps_product`.`id_product` = 12;... et UPDATE `mabdd`.`ps_stock_available` SET `quantity` = '82' WHERE `ps_stock_available`.`id_product` = 12; ... Pour les déclis : 2 requetes UPDATE `mabdd`.`ps_product_attribute` SET `quantity` = '95' WHERE `ps_product_attribute`.`id_product_attribute` = 247; ... et UPDATE `mabdd`.`ps_stock_available` SET `quantity` = '95' WHERE `ps_stock_available`.`id_product` = 1759 AND `ps_stock_available`.`id_product_attribute` =247; ... Par avance merci pour vos idées et retours d 'expérience PS : j'ai remarqué en BDD niveau product_attribute, qu'une META DECLINAISON existait avec ID product_attribute = 0 qui normalement recoit la somme des quantités des déclinaisons pour le produit, et qui doit servir forcément à l'affichage des quantités globales du Pdt en BO, et pour la gestion des stocks en FO ... Merci encore Edited February 26, 2018 by trcom reflexion : (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted February 26, 2018 Share Posted February 26, 2018 il vous manque un update de la table ps_product_shop dans votre requête et effectivement la mise à jour de l'attribut 0 pour les produits mis à jour (quantité = somme des quantités des attributs) Link to comment Share on other sites More sharing options...
trcom Posted February 26, 2018 Author Share Posted February 26, 2018 Merci beaucoup pour votre réponse Mais il me semble que ps_product_shop ne joue pas sur les quantités, du moins pas pour moi, je ne trouve pas cette info dans la table(pour les prix oui par contre, mais c'est pas le sujet) Ok pour ajouter la somme des quantités des attributs dans la requête pour l'ID_product_attribute=0 de chaque produit à décli Mais difficile de gérer ca sous XLS (je suis pas développeur ni expert du tout en XLS / VBscript) ET pourquoi cela fonctionnait alors que je n'ai jamais fait ça auparavant ...ni n'a été fourni par mon client étant donné que ce "produit de base" n'a ni référence, ni prix, ni poids dans prestashop, et n'existe pas dans leur ERP, ils fonctionnent avec 1 décli = 1 référence. Donc tout se joue au niveau des déclinaisons pour ce PB Nouveauté : j'ai vu que dans le module "produits de la meme catégorie" dans la fiche produit on peut ajouter au panier un article défaillant (pas de bouton AJOUTER sur la FP), il ajoute la décli par defaut au panier.Si on finalise la commande, prestashop recalcule le stock et du coup attribue une valeur à cette "fausse décli" correspondant au produit de base (prestashop recalcule la somme des quantités des déclis et l'attribue à ID_product_attribute=0 du produit) idem si en BO on modifie une quantité d'une décli, le produit refonctionne en FO car prestashop a recalculé le bazar et attribué une valeur de stock "au produit de base" Donc a suivre ... 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