paniclope-admin Posted February 1, 2013 Share Posted February 1, 2013 Bonjour à tous, J'ai établie une gestion des stocks avec un petit script PHP qui me permet directement de faire des Update de mes quantités de produits dans ma Base de donnée. Le script s’exécute bien, et inscrit les bonnes valeurs dans le champs Quantité de ma table "Product". Le soucis étant que ces quantités, qui apparaissent dans mon "Back-office" de Prestashop, ne correspondent pas avec celles de ma BDD. Et encore moins en 'Front-Office". Initialement celle de ma BDD sont bonnes. Comme-ci le site ne consultait plus la base, ou du moins ne se rafraîchissait plus. Je n'utilise qu'une seule base de donnée, donc impossibilité pour Prestashop d'en utiliser une autre.. On dirait qu'il n'y a aucune correspondance entre ma BDD et Ma boutique. Le soucis étant qu'un produit avec une quantité à 0, ne s'affiche pas sur le site, ou est marqué "En rupture". Alors que justement mon script de gestion des stocks permet de mettre à jour mon stock de façon permanente, puisque je l'ai automatisé, et planifié en taches Quotidiennes. J'ai appelé le Service Technique Prestashop, qui m'a conseillé de venir faire un tour sur le forum, parce qu'il savais pas trop quoi me dire.. Donc si quelqu'un avais déjà rencontré le soucis, ou aurait une piste pour un débuguage (Chose que je ne sais pas faire..), merci de me faire signe. Bonne journée! Link to comment Share on other sites More sharing options...
erotikat Posted February 1, 2013 Share Posted February 1, 2013 (edited) Bonjour, Regarde dans le forge, il y a une update non diffusé pour un problème de stock dans le cache. C est peut être une piste. http://forge.prestashop.com/browse/PSCFV-7322?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel Bon courage Edited February 1, 2013 by erotikat (see edit history) Link to comment Share on other sites More sharing options...
PrestaCoach Posted February 1, 2013 Share Posted February 1, 2013 Bonjour, Le problème peut éventuellement venir d'une interaction entre la zone que vous modifiez dans la BDD, et une autre zone de la BDD que Prestashop modifie en temps normal, mais que votre script ne modifie pas; vu que cette éventuelle relation entre les deux zones n'est pas connue, et non explicitée par Prestashop. Nous avons déjà constaté qu'une mise à jour directe de zone dans la BDD Prestashop peut entrainer un comportement inattendu du logiciel Prestashop en Frontend ou Backend ... Nous vous suggérons donc de demander à PrestaShop si une modification directe de la zone Quantité ne doit pas être accompagnée d'une mise à jour d'autres zones (du style "statut" ou autre de la zone). Michel Link to comment Share on other sites More sharing options...
paniclope-admin Posted February 1, 2013 Author Share Posted February 1, 2013 Bonsoir à tous, merci à vous d'avoir pris du temps pour me répondre. Alors erotikat , j'y ai jeté un coup, d'oeil, j'ai fix le Bug comme il est indiqué en changeant le fichier classes/Product.php https://github.com/PrestaShop/PrestaShop/commit/24273960cc341e4745d65bd999daad91becdd016 Mais ça n'a toujours pas d'impact, mes quantités n'ont toujours pas bougés.. Alors je ne vois pas d'ou vient le problème. J'ai pensé que Certaines méthodes de la classe Db prennent un argument $use_cache, et que si on les met à false, ça devrait être bon. Et bien non.. mdegueldre, c'est vrai que la BDD peut rendre instable prestashop en Back/front office, mais bon, je n'agis que sur 2 champs, à savoir 'Quantity' from Product' & 'Quantity from product_attribute' .. Remplacer une donnée dans une table, c'est complètement normal, et heureusement vu le traffic qui s'établit entre la BDD et le Software! Donc voila , je continue de chercher.. Je vous tiendrai au courant si j'en sais plus.. Link to comment Share on other sites More sharing options...
Roger-G Posted March 1, 2013 Share Posted March 1, 2013 Bonjour, J'ai travaille également sur des scripts PHP qui mettent automatiquement l'ensemble de l'inventaire des produits de PrestaShop. 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. Roger 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