Ein Problem z.B. in Magento 1.9.0.1 ist, dass man bei der Erstellung einer Gutschrift oder eines Korrekturbeleges nicht die Möglichkeit hat den Haken in des Kästchen “Zurück ins Lager” zu setzen, so dass der zurückgeschickte Artikel wieder in den Bestand gebucht wird. Somit muss man den Lagerbestand immer manuell anpassen.
Leider ist dies ein Problem welches bei Konfigurierbaren Produkten auftreten kann. Um dies zu beheben, muss die Datei Abstract.php im Ordner /app/code/core/Mage/Adminhtml/Block/Sales/Items angepasst werden. Damit das System aber updatefähig bleibt, kopieren wir die Datei in den Ordner /app/code/local/Mage/Adminhtml/Block/Sales/Items
Anschließend verändern wir die Zeilen (ca. 1075 bis 1105) und ersetzen
public function canReturnItemToStock($item=null) { $canReturnToStock = Mage::getStoreConfig(Mage_CatalogInventory_Model_Stock_Item::XML_PATH_CAN_SUBTRACT); if (!is_null($item)) { if (!$item->hasCanReturnToStock()) { $product = Mage::getModel('catalog/product')->load($item->getOrderItem()->getProductId()); if ( $product->getId() && $product->getStockItem()->getManageStock() ) { $item->setCanReturnToStock(true); } else { $item->setCanReturnToStock(false); } } $canReturnToStock = $item->getCanReturnToStock(); } return $canReturnToStock; }
durch
public function canReturnItemToStock($item=null) { $canReturnToStock = Mage::getStoreConfig(Mage_CatalogInventory_Model_Stock_Item::XML_PATH_CAN_SUBTRACT); if (!is_null($item)) { if (!$item->hasCanReturnToStock()) { $productOptions = ($item->getOrderItem()->getProductOptions()); if ( !empty($productOptions['simple_sku']) && $simpleSKU = $productOptions['simple_sku']) { $product = Mage::getModel('catalog/product'); $product->load($product->getIdBySku($simpleSKU)); }else{ $productId = $item->getOrderItem()->getProductId(); $product = Mage::getModel('catalog/product')->load($productId); } //echo $product->getSKU(); $stockItem = $product->getStockItem(); if ( $product->getId() && ( $product->getStockItem()->getManageStock() ) ) { $item->setCanReturnToStock(true); } else { $item->setCanReturnToStock(false); } //$item->setCanReturnToStock(true); } $canReturnToStock = $item->getCanReturnToStock(); } return $canReturnToStock; }
Nach dieser Änderung kann nun auch bei den vorher problematischen Produkten ein Häkchen bei “Zurück ins Lager” gesetzt werden.
Genutzt in Magento Version 1.9.0.1 Kommentare? Ergänzungen? Hinweise? Gerne!
Hallo,
vielen Dank für die tolle Anleitung. Ich arbeite mit Magento 1.9.2.4 bei meiner Version fehlt die Checkbox für “Zurück ins Lager” komplett. Ist das normal?
Vielen Dank und freundliche Grüsse,
Tom