Jump to content

APORTE: Desactivar productos con stock = 0


Recommended Posts

Hace unos días encontré un script que realizaba la tarea de desactivar los productos que se quedan con stock = 0.

Si no somos de los que realizamos ventas con stock en 0, esto es algo útil, pues de esta manera evitamos que nuestros clientes vean los productos de los cuales ya no tenemos inventario.

Sin embargo, con el pasar de los días me di cuenta que había algo malo con este script:

UPDATE ps_product_shop SET active=0 WHERE id_product IN (SELECT id_product FROM ps_stock_available WHERE quantity=0)

Resulta que si de un producto tenemos algunas variantes, por ejemplo su tamaño, y de uno de esos tamaños nuestro stock ha llegado a 0, el script lo desactiva. Cosa que no debería suceder. Prestashop se encarga de mostrar a los clientes únicamente los tamaño que tienen un stock > 0 y al desactivar el producto desactivamos estos tamaños que sí tienen stock.

Ilustrando un poco:

 

post-744268-0-66384100-1423070630.png

En este caso en total tenemos 113 unidades del producto, pero el script lo desactiva porque de nuestros tamaños y colores hay 3 con un stock=0.

Como dije antes: Prestashop se encarga de mostrar a los clientes únicamente los tamaño que tienen un stock > 0, en este caso los tres primeros.

 

El script corregido sería el siguiente:

 

UPDATE ps_product_shop SET active=0
WHERE id_product
IN (SELECT interna.id_product
    FROM (SELECT SUM(quantity) as quantity, id_product as id_product
          FROM ps_stock_available
          GROUP BY id_product)
    as interna
    WHERE interna.quantity=0)

 

De esta manera el producto será desactivado cuando no dispongamos de ningún tamaño o cualquier otra variante.

 

Para que funcione, deben crear un trigger en la tabla ps_stock_available tal como se los muestro a continuación.

 

 

post-744268-0-68609300-1423070629.png

 

Espero que este post sea de utilidad para todos.

post-744268-0-68609300-1423070629_thumb.png

post-744268-0-66384100-1423070630_thumb.png

Edited by daniel_irias (see edit history)
Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...