Matension Posted February 16, 2016 Share Posted February 16, 2016 Bonjour à tous, J'aurais voulu pouvoir modifier en masse la quantité de produits en stock, au août j'avais déjà demandé une précision sur le poids, voir ce sujet https://www.prestashop.com/forums/topic/465162-modifier-le-poids-de-beaucoup-de-produits-via-une-requ%C3%AAte-sql/ J'ai essayé de modifier la requête en UPDATE `ps_stock_available` SET quantity = 'Quantité souhaitée' WHERE quantity = 0 ou UPDATE `ps_product` SET quantity = 'Quantité souhaitée' WHERE quantity = 0 Les quantités sont bien mises à jours dans les 2 tables concernées, mais ne change pas dans le back-office. Link to comment Share on other sites More sharing options...
P i l o u Posted February 16, 2016 Share Posted February 16, 2016 Je crois que le champs quantity doit être un entier (integer) et non pas une chaîne de caractères. Link to comment Share on other sites More sharing options...
Matension Posted February 16, 2016 Author Share Posted February 16, 2016 Bonjour et merci PILOU, oui bien sûr le "quantit souhaitée" était mis pour que les suivants qui ont le problème voit la partie à modifier. J'ai essayé 99 ou 999 mais rien.... Link to comment Share on other sites More sharing options...
P i l o u Posted February 16, 2016 Share Posted February 16, 2016 La syntaxe exacte est : UPDATE `ps_product` SET `quantity`= 99 WHERE 1 1 Link to comment Share on other sites More sharing options...
Matension Posted February 16, 2016 Author Share Posted February 16, 2016 Merci PILOU, je testerais quand j'arrive chez moi. La table ps_product est la bonne donc ? Link to comment Share on other sites More sharing options...
_tech Posted February 16, 2016 Share Posted February 16, 2016 Bonjour, Prestashop utilise un "cache" pour le stock available, le soucis de mise à jour en BO est peut être à cause de ça. (exemple https://github.com/PrestaShop/PrestaShop/blob/master/classes/stock/StockAvailable.php ligne 365/366...) Link to comment Share on other sites More sharing options...
Matension Posted February 16, 2016 Author Share Posted February 16, 2016 (edited) Bonsoir _tech, j'ai delete le /cache/class_index.php mais tjs rien. J'ai déjà purgé le cache de presta avant aussiJe dois encore essayer la solution de PILOU Edited February 16, 2016 by Matension (see edit history) Link to comment Share on other sites More sharing options...
_tech Posted February 16, 2016 Share Posted February 16, 2016 Il ne s'agit pas de ce type de cache, c'est un cache interne qui sauvegarde la dernière valeur du stock disponible. Link to comment Share on other sites More sharing options...
Matension Posted February 16, 2016 Author Share Posted February 16, 2016 J'ai quand même testé au cas où :/ Une idée de comment vider ce cache interne ? Où il se vide automatiquement après x heures ? Link to comment Share on other sites More sharing options...
Matension Posted February 16, 2016 Author Share Posted February 16, 2016 Comme l'indique PrestaCoach, Prestashop enregistre certaines données dans plus d'une table. Par exemple pour la quantité d'un produit si la gestion des stock avancé n'est pas activé. La quantité est enregistré dans la table "product" et également dans la table "stock_available" Pour mettre à jour la quantité, est-que vous utilisez la méthode "setQuantity" de la classe "StockAvailable"? ex: StockAvailable::setQuantity ($id_product, $id_product_attribute, $quantity, $id_shop) Moi ça fonctionne bien avec cette méthode. Info trouvé sur ce post https://www.prestashop.com/forums/topic/221406-ps-1531-bug-refresh-base-de-donnee/?do=findComment&comment=1127183 Maintenant, le post date d'il y a 3 ans, à voir ce que ça donne encore actuellement Link to comment Share on other sites More sharing options...
_tech Posted February 16, 2016 Share Posted February 16, 2016 Essayez de faire un Cache::clean('*'); dans un fichier php, un module ou un controller, et vous l'enlevez une fois que c'est fait, vos stocks devraient avoir la valeur à jour (celle changée en sql dans StockAvailable etc.) Link to comment Share on other sites More sharing options...
Matension Posted February 16, 2016 Author Share Posted February 16, 2016 Merci _tech, mais là je vais avoir besoin d'un peu plus d'informations sur la procédure à suivre Link to comment Share on other sites More sharing options...
P i l o u Posted February 17, 2016 Share Posted February 17, 2016 Oui, désolé, c'est bien la table stock_available qu'il faut modifier... UPDATE `ps_stock_available` SET `quantity`= 99 WHERE 1 Link to comment Share on other sites More sharing options...
Matension Posted February 17, 2016 Author Share Posted February 17, 2016 (edited) Petite erreur lorsque j'ai validé une commande créé dans le backoffice Edited February 17, 2016 by Matension (see edit history) Link to comment Share on other sites More sharing options...
_tech Posted February 17, 2016 Share Posted February 17, 2016 Peut être une incohérence en base due aux modifications des stocks en sql. Pour les produits de la commande, essayez de mettre à jour le stock manuellement en BO. Cela devrait résoudre l'erreur pour ces produits. Link to comment Share on other sites More sharing options...
Michel presta Posted February 17, 2016 Share Posted February 17, 2016 Bonjour à tous. Il existe de très bons soft pour faire cela sans risquer de mettre la zone dans la BDD. Perso j'utilise prestapricing qui me convient très bien. Mais il en existe d'autres comme store Commander et surement d'autres (je n'ai pas d’intérêts chez aucun de ces éditeurs). Link to comment Share on other sites More sharing options...
Matension Posted February 17, 2016 Author Share Posted February 17, 2016 Merci Michel Faure, prestapricing m'intéresse beaucoup, je n'ai pas encore regardé les autres. je me pencherais la dessus quand je pourrais. Pour mon problème au dessus, je n'ai pas pu régler les quantités, j'ai restauré la sauvegarde faites avant la perte des quantités. Merci à _tech et PILOU en tout cas pour leur aide 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