如何删除意外创建的货件?我知道没有办法通过管理员这样做,但我想弄清楚我需要做什么才能将订单恢复到"处理"状态以及所有旧的货件信息,以便它可以发货晚些时候.我希望这可以通过PHP以编程方式完成,甚至可以直接在MySQL中完成.
仅供参考,我正在使用Magento 1.1.8版.
Ren*_*art 16
尝试
require_once 'app/Mage.php';
Varien_Profiler::enable();
Mage::setIsDeveloperMode(true);
ini_set('display_errors', 1);
umask(0);
Mage::app('default');
Mage::register('isSecureArea', 1);
//Update Order id
$orderId = xyz;
$order = Mage::getModel('sales/order')->load($orderId);
// check if has shipments
if(!$order->hasShipments()){
die('No Shipments');
}
//delete shipment
$shipments = $order->getShipmentsCollection();
foreach ($shipments as $shipment){
$shipment->delete();
}
// Reset item shipment qty
// see Mage_Sales_Model_Order_Item::getSimpleQtyToShip()
$items = $order->getAllVisibleItems();
foreach($items as $i){
$i->setQtyShipped(0);
$i->save();
}
//Reset order state
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true, 'Undo Shipment');
$order->save();
echo 'Done';
Run Code Online (Sandbox Code Playgroud)