Magento 1.x – Como deletar um pedido pelo número ou ID.

Código de exemplo para deletar um pedido pelo número no Magento 1.x, remova pedidos individualmente pelo número ou ID.

Faça backup do banco de dados antes de executar o código a seguir em ambientes que estão em produção.

Excluindo pedido no Magento

Crie o arquivo “deletar.php” no diretório principal aonde o Magento está instalado com seguinte conteúdo:

require 'app/Mage.php';
Mage::app('admin')->setUseSessionInUrl(false); 

$test_order_ids=array(
 '100000001',
 '100000002',
 '100000003',
 '100000111',
 '100000112',
 '100000199',
);
foreach($test_order_ids as $id){
 try{
 Mage::getModel('sales/order')->loadByIncrementId($id)->delete();
 echo "order #".$id." is removed".PHP_EOL;
 }catch(Exception $e){
 echo "order #".$id." could not be remvoved: ".$e->getMessage().PHP_EOL;
 }
}
echo "complete.";

Altere os valores no array “$test_order_ids” de acordo com os pedidos que você deseja deletar.

Deletando Faturas, Entregas e pelo ID

Deletando as Faturas, Entregas e Reembolsos junto com o Pedido.

No exemplo abaixo é utilizado o ID do pedido, NÃO o número incremental.

Altere a função Mage::getModel(‘sales/order’)->load para Mage::getModel(‘sales/order’)->loadByIncrementId se você desejar utilizar o número do pedido invés do ID.

$mageFilename = 'app/Mage.php';
require_once $mageFilename;
Varien_Profiler::enable();
Mage::setIsDeveloperMode(true);
ini_set('display_errors', 1);
umask(0);
Mage::app('default');
Mage::register('isSecureArea', 1);

$orderId = 156;

$order = Mage::getModel('sales/order')->load($orderId);

$invoices = $order->getInvoiceCollection();
foreach ($invoices as $invoice){
 $invoice->delete();
}

$creditnotes = $order->getCreditmemosCollection();
foreach ($creditnotes as $creditnote){
 $creditnote->delete();
}

$shipments = $order->getShipmentsCollection();
foreach ($shipments as $shipment){
 $shipment->delete();
}

$order->delete();
2017-08-21T17:48:16+00:00

RECEBA DICAS VALIOSAS NO SEU EMAIL

x