Script PHP para a criação de uma Entrega (envio) em um pedido utilização o Order Id.
Script não dependente de um modulo, pode ser executado em um arquivo PHP “stand-alone” na raiz da instalação Magento.
Não esqueça de customizar o Script conforme a sua necessidade.
require_once('app/Mage.php');
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$Order_id = 1; /* Informe aqui o número do pedido */
$order=Mage::getModel('sales/order')->load($Order_id);
$qty=array();
foreach($order->getAllItems() as $eachOrderItem){
$Itemqty=0;
$Itemqty = $eachOrderItem->getQtyOrdered()
- $eachOrderItem->getQtyShipped()
- $eachOrderItem->getQtyRefunded()
- $eachOrderItem->getQtyCanceled();
$qty[$eachOrderItem->getId()]=$Itemqty;
}
$email=true;
$includeComment=true;
$comment="";
if ($order->canShip()) {
/* @var $shipment Mage_Sales_Model_Order_Shipment */
/* prepare to create shipment */
$shipment = $order->prepareShipment($qty);
if ($shipment) {
$shipment->register();
$shipment->addComment($comment, $email && $includeComment);
$shipment->getOrder()->setIsInProcess(true);
try {
$transactionSave = Mage::getModel('core/resource_transaction')
->addObject($shipment)
->addObject($shipment->getOrder())
->save();
$shipment->sendEmail($email, ($includeComment ? $comment : ''));
} catch (Mage_Core_Exception $e) {
var_dump($e);
}
}
}