Jump to content

[Sql] Produits En Rupture De Stock


Recommended Posts

Bonjour à toute la communauté,

 

J'expose un problème que je rencontre.

 

Après avoir fait une modification graphique et une mise à jour Prestashop, nous rencontrons quelques difficultés sur le tableau de bord.

 

Quand nous nous rendons dans "Produits en rupture de stock" (dans tableau de bord), et que nous cliquons sur Etat (pour voir les produits en rupture de stock qui sont activés ou non), nous rencontrons une erreur SQL (voir image en pièce jointe).

 

"

Mauvaise requête SQL
Unknown column 'sa.active' in 'where clause'

 
"
 
Une piste pour résoudre ce problème ?
 
En vous remerciant, 
 
Alexandre. 



  •  

post-766096-0-01961800-1450197944_thumb.jpg

Link to comment
Share on other sites

  • 2 months later...

Votre problème a-t-il été résolu ?

 

Car visiblement c'est un bug, la colonne "active" existe bien dans ps_product, d'ailleurs si elle n'existait pas ce ne serait pas le seul endroit ou la requête aurait un problème.

 

Donc je relance le sujet, si on choisi l'option "suivi" du menu "catalogue" et si l'on filtre uniquement les produits "activés", colonne "état" à "oui", dans la liste "LISTE DES PRODUITS SANS DÉCLINAISON ET SANS QUANTITÉ DISPONIBLES À LA VENTE ", on obtient bien l'erreur indiquée plus haut.

 

En mode debug cela nous donne :

 

[PrestaShopDatabaseException]

Unknown column 'sa.active' in 'where clause'
 

SELECT SQL_CALC_FOUND_ROWS
                                b.*, a.*
            
            FROM `ps_product` a
            LEFT JOIN `ps_product_lang` b ON (b.`id_product` = a.`id_product` AND b.`id_lang` = 1 AND b.`id_shop` = 1)
             INNER JOIN ps_product_shop product_shop
        ON (product_shop.id_product = a.id_product AND product_shop.id_shop = 1)
             WHERE 1 AND EXISTS (
            SELECT 1
            FROM `ps_product` p
             LEFT JOIN ps_stock_available stock
            ON (stock.id_product = p.id_product AND stock.id_shop = 1 AND stock.id_shop_group = 0 )
            WHERE a.id_product = p.id_product AND NOT EXISTS (
                SELECT 1
                FROM `ps_product_attribute` pa WHERE pa.id_product = p.id_product
            )
            AND IFNULL(stock.quantity, 0) <= 0
        ) AND sa.`active` = 1
            
             ORDER BY a.`id_product` DESC LIMIT 0, 50

 

Merci d'avance pour vos réponses si le problème à finalement été résolu.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...