cedric.s Posted December 18, 2024 Share Posted December 18, 2024 Bonjour à tous j ai problème que je n arrive pas résoudre il m est impossible de changer l état d une commande et de la passé en expédié . Une erreur inattendue s'est produite. [PrestaShopDatabaseException code 0] : Duplicate entry '227-1182-0-0' for key 'mod327_stock_available.product_sqlstock' INSERT INTO `mod327_stock_available` (`id_product`, `id_product_attribute`, `id_shop`, `id_shop_group`, `quantity`, `depends_on_stock`, `out_of_stock`, `location`) VALUES ('227', '1182', '0', '0', '0', '0', '0', '') Je suis sur 1.7.8.10 je m arrache un peu les cheveux .... parfois en changeant de boutique c est un site multi boutique cela marche une fois sur 10 mais impossible de comprendre pourquoi. Si un âme charitable connait ce problème .... merci . Link to comment Share on other sites More sharing options...
Eolia Posted December 18, 2024 Share Posted December 18, 2024 le debug ne vous donne pas le nom du fichier qui a appelé cet INSERT ? Là, Prestashop essaye d'ajouter une ligne dans stock_available mais elle existe déjà. Le core vérifie ce point normalement, donc je soupçonne un module chez vous. Link to comment Share on other sites More sharing options...
WEB-FUSION Posted December 18, 2024 Share Posted December 18, 2024 (edited) @cedric.s dans la VALUE, il manque l'id_shop de mémoire, il ne peut pas être à 0, vérifié si un override ne provoque pas l'erreur ou alors comme dit @Eolia un module tier Edited December 18, 2024 by CHRISCOM (see edit history) Link to comment Share on other sites More sharing options...
cedric.s Posted December 20, 2024 Author Share Posted December 20, 2024 j ai que ca quand j active le debug Une erreur inattendue s'est produite. [PrestaShopDatabaseException code 0] : Duplicate entry '231-1221-0-0' for key 'mod327_stock_available.product_sqlstock' INSERT INTO `mod327_stock_available` (`id_product`, `id_product_attribute`, `id_shop`, `id_shop_group`, `quantity`, `depends_on_stock`, `out_of_stock`, `location`) VALUES ('231', '1221', '0', '0', '0', '0', '0', '') rien de plus je ne sas pas trop quoi en faire , je test en désactivant module par module? Merci à vous en tout cas Link to comment Share on other sites More sharing options...
cedric.s Posted December 20, 2024 Author Share Posted December 20, 2024 en debug les surcharges sont deja désactivée si je comprends bien ce que vous me dites donc je ne pense pas que cela soit la cause du problème Link to comment Share on other sites More sharing options...
WEB-FUSION Posted December 21, 2024 Share Posted December 21, 2024 @cedric.s essayer de trouver dans la table la ligne qui correspond à l'id_product 231 et l'id_product. 1221 et vous modifiez manuellement l'id_shop = 1. Ensuite refaite votre test d'insertion. Mais a priori l'id_shop pourrait être le problème. Tenez-moi au courant si ce test fonctionne. Link to comment Share on other sites More sharing options...
cedric.s Posted December 22, 2024 Author Share Posted December 22, 2024 j ai plusieurs boutique si je mets un id au hasard cela ne risque-t-il pas de poser problème? Link to comment Share on other sites More sharing options...
WEB-FUSION Posted December 22, 2024 Share Posted December 22, 2024 @cedric.s c'est pour le test, mais si vous avez plusieurs boutiques la colonne id_shop ne doit pas être à 0. Même si vous n'avez qu'une boutique, cette colonne doit être à l'id du shop. Faite le test et dites-moi si vous avez la même erreur. Link to comment Share on other sites More sharing options...
AfterGlow93 Posted December 24, 2024 Share Posted December 24, 2024 (edited) Bonjour, L'ID Shop n'est pas nécessaire pour le stock, car quoi qu'il arrive, un produit en stock ne concerne pas forcément une boutique (la table stock_available contient les deux, une ligne sans ID Shop et une ligne avec). En tout cas, c'est ce que j'ai pu observer en créant mes modules d'update stock agissant directement sur la table stock_available. Le problème c'est plutôt pourquoi un INSERT est produit lors du changement d'état d'une commande. Un changement d'état ne peut pas créer une ligne de stock, seulement la faire évoluer (UPDATE). S'il y'a un INSERT INTO, c'est qu'une partie du code demande l'ajout de cette ligne. Et non, le mode debug ne désactive pas les surcharges systématiquement, il faut regarder en dessous et activer l'option "désactiver les surcharges". Edited December 24, 2024 by AfterGlow93 (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted December 24, 2024 Share Posted December 24, 2024 il y a 5 minutes, AfterGlow93 a dit : L'ID Shop n'est pas nécessaire pour le stock, car quoi qu'il arrive, un produit en stock ne concerne pas forcément une boutique (la table stock_available contient les deux, une ligne sans ID Shop et une ligne avec). En tout cas, c'est ce que j'ai pu observer en créant mes modules d'update stock agissant directement sur la table stock_available. Tout dépend du paramètre share_stock lorsque vous créez des multiboutiques. Dans tous les cas id_shop est toujours rempli (par défaut avec l'id_shop par défaut, à 0 si le stock est partagé pour un groupe de boutiques, ou l'ID du shop si aucun partage) if($id_shop === null) { $shop_group = Shop::getContextShopGroup(); } else { $shop_group = new ShopGroup((int)Shop::getGroupFromShop((int)$id_shop)); } // If quantities are shared between shops of the group if($shop_group->share_stock) { $stock_available->id_shop = 0; $stock_available->id_shop_group = (int)$shop_group->id; } else { $stock_available->id_shop = (int)$id_shop; $stock_available->id_shop_group = 0; } if(!$stock_available->add()) return false; Link to comment Share on other sites More sharing options...
cedric.s Posted December 24, 2024 Author Share Posted December 24, 2024 Merci à tous de votre aide, et bonne fêtes en ce moment , j ai regardé les surcharges sont désactivées. Link to comment Share on other sites More sharing options...
cedric.s Posted December 30, 2024 Author Share Posted December 30, 2024 je peux le changer le paramètre share stock une fois les boutiques crées? Link to comment Share on other sites More sharing options...
Eolia Posted December 30, 2024 Share Posted December 30, 2024 Oui Link to comment Share on other sites More sharing options...
cedric.s Posted January 21 Author Share Posted January 21 désole pour le delai j ai du parir sur autre chose je ne sais pas trop ou changer cela , encore merci à tous 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