Como deletar um pedido pelo número no Magento 1

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

Como deletar um pedido pelo número no Magento

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

Excluindo pedido no Magento

Crie o arquivo “deletar.” no diretório principal aonde o 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();

 

 

Dúvidas? Faça um comentário logo abaixo ou envie uma mensagem clicando aqui.

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *