En fait, dans mon cas, la quantité vendable affiche zéro dans la grille de produits Magento 2.3 .
En raison de ce problème, les produits ne s'affichent pas en frontend. Si quelqu'un a une idée, dites-le moi.
Pour cette réindexation est également effectuée, mais toujours la quantité vendable affiche zéro (0).
Ajouter et mettre à jour la quantité programmatique mais la quantité vendable affiche zéro .
magento2
quantity
magento2.3
product-grid
Hitesh Balpande
la source
la source
Réponses:
Dans DataBase, il y avait deux types,
1) Tableaux
2) Vues
Le problème est probablement dû à l'import / export des vues de base de données n'a pas été créé dans Magento 2.3. Créez donc des vues et une table d' inventaire_stock_1 dans DataBase.
Voir l'image ci-jointe:
la source
J'ai ignoré cette ligne de requête, en raison d'une erreur de Previllages et mon ajout au panier ne fonctionnait pas sur le serveur en direct, sur le serveur local, cette ligne n'a pas été ignorée et l'ajout au panier fonctionnait bien.
Parce que la vue n'a pas été créée sur le serveur en direct
la source
J'ai dû supprimer la
DEFINER=
racine@
localhost de la réponse @Thakur alors voici ce que j'ai utilisé:Le fait de ne pas le supprimer a provoqué une erreur de privilège.
la source
Veuillez essayer les étapes ci-dessous:
Cela a bien fonctionné.
OU trouvez le lien ci-dessous
https://webkul.com/blog/get-salable-quantity-in-magento-2-3/
la source
J'étais confronté au même problème, après avoir créé la vue en exécutant la requête ci-dessous, mon problème a été résolu.
la source
Une autre méthode pour résoudre ce problème serait de supprimer le correctif du
patch_list
et de réexécuter lesetup:upgrade
pour ré-appeler la commande.Le code responsable de la création de
SQL SECURITY INVOKER
peut être trouvé dans Magento \ InventoryCatalog \ Setup \ Patch \ Schema \ CreateLegacyStockStatusView.Vous pouvez supprimer le correctif de données de la liste des correctifs en recherchant
select * from patch_list where patch_name = 'Magento\InventoryCatalog\Setup\Patch\Schema\CreateLegacyStockStatusView
Supprimez l'enregistrement.
Rediffusion
setup:upgrade
setup:di:compile
setup:static-content:deploy
Enregistrez à nouveau les produits avec une quantité vendable ZERO, une par une ou une action de masse via l'administrateur.
la source
Je vais partager mon expérience liée à ce problème, j'espère que cela pourrait aider quelqu'un qui aurait été dans la même situation.
Nous travaillions sur une instance mise en scène, tout était prêt pour la production. Nous avons donc tout dupliqué sur le prod env et lancé quelques tronçons SQL afin de supprimer toutes les commandes fictives, les revues, etc. vous avez l'idée.
Après quelques tests finaux, nous avons réalisé que nos produits "quantité en stock" étaient très différents de la "quantité vendable" . La vue SQL semblait bien fonctionner, nous avons donc approfondi nos recherches. Il s'avère que nous avons manqué une table SQL dans nos instructions tronquées:
Cette méchante fille contenait chacun des "produits non expédiés mais réservés " des commandes passées.
Bien sûr, n'oubliez pas de réindexer les choses:
la source
Je viens de changer en MAGASIN -> CATELOG -> INVENTAIRE -> OPTIONS DE STOCK DE PRODUITS -> ARRIÈRE-COMMANDE -> Autoriser la quantité en dessous de 0
et le problème résolu
la source