Jump to content

Remettre en stock les produits d'une commande annulée


Recommended Posts

Bonjour,

En 1.6, lorsque je passais une commande sur « annulée », les produits de la commande étaient remis en stock. Ce qui me semblait plutôt logique.

En 1.7, les produits ne sont pas remis en stock.

Est-ce que le comportement logique ? Est-ce que je dois configurer quelque chose quelque part pour retrouver ce fonctionnement ?

 

Merci :)

Link to comment
Share on other sites

Salut,

Non ce n'est pas normal. Je viens de faire le test sur un Prestashop 1.7 de base, et au passage d'une commande annulée, le stock est bien remis.

Vérifiez dans Catalogue > Stocks, puis onglet Mouvements. Normalement il devrait y avoir des +xx avec en type "Commande client" avec un lien vers la commande en question si elle a été correctement annulée.

Ce fonctionnement se trouve dans le fichier classes/order/OrderDetail.php l.532

    /**
     * Check the order status.
     *
     * @param array $product
     * @param int $id_order_state
     */
    protected function checkProductStock($product, $id_order_state)
    {
        if ($id_order_state != Configuration::get('PS_OS_CANCELED') && $id_order_state != Configuration::get('PS_OS_ERROR')) {
            $update_quantity = true;
            if (!StockAvailable::dependsOnStock($product['id_product'])) {
                $update_quantity = StockAvailable::updateQuantity($product['id_product'], $product['id_product_attribute'], -(int) $product['cart_quantity'], $product['id_shop'], true);
            }

            if ($update_quantity) {
                $product['stock_quantity'] -= $product['cart_quantity'];
            }

            if ($product['stock_quantity'] < 0 && Configuration::get('PS_STOCK_MANAGEMENT')) {
                $this->outOfStock = true;
            }
            Product::updateDefaultAttribute($product['id_product']);
        }
    }

La ligne intéressante est au tout début, si la commande est en statut Canceled ou Error, alors on met à jour la quantité.

  • Thanks 1
Link to comment
Share on other sites

  • 4 weeks later...

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...