温馨提示:本文翻译自stackoverflow.com,查看原文请点击:magento - Credit Memo "Return to Stock" not updating Stock Availability
magento magento-1.5

magento - 贷项通知单“返回库存”不更新库存可用性

发布于 2020-04-14 10:20:36

因此,当您在Magento中执行贷项凭单时,它将存货重新设置为正确的水平,但不会将“缺货”改回“存货”(如果适用)。我在Wright Creatives(http://wrightcreativelabs.com/blog/55-credit-memo-in-stock.html)上看到了这篇文章,它解决了这个问题。但是,方法太慢了!每个产品大约需要30秒。

我最终不得不删除它作为解决方案(由于“速度”),现在我的老板希望重新实现该功能。

我知道is_in_stock数据控制着这个问题,我想知道是否已经有一个模块,一篇文章/教程,或者有人可以帮助我着手“更好/更快”的解决方案。

查看更多

提问者
Geoff
被浏览
28
2,749 2016-07-09 12:58

我知道它已经很老了,但是因为这个问题甚至在1.7.0.1中都还没有解决,所以我想出了一个更好的解决方案。

在1.5.1及更高版本上测试:

\ app \ code \ core \ Mage \ CatalogInventory \ Model \ Observer.php

公共功能退款订单库存($ observer)

Mage::getSingleton('cataloginventory/stock')->revertProductsSale($items);

    //add this
    foreach ($creditmemo->getAllItems() as $item) {
        $productId = $item->getProductId();
        $product = Mage::getModel('catalog/product')->load($productId);

        if(!$product->isConfigurable()){

            $stockItem = $product->getStockItem();

            //$stockItem->setQty($item->getQty());
            $stockItem->setIsInStock(1);
            $stockItem->save();

            $product->setStockItem($stockItem);
            $product->save();
        }
    }