$orderId = 1;
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$order = $objectManager->create('\Magento\Sales\Model\Order')->load($orderId);
$order->setState("processing")->setStatus("processing");
$order->save();
Diga-me como atualizo o status do pedido no Magento 2?
magento2
sales-order
magento-2.1.3
Rahul Katoch
fonte
fonte
Atualização do estado do pedido
Para atualizar o estado e o status do pedido de forma programática, defina o status e o estado nesse formato. Inicie o objeto de pedido na função de construção e use esse objeto de pedido na função personalizada para atualizá-lo. Para atualizar programaticamente o estado do pedido no modelo, obtenha o objeto de pedido na função de construção.
Novo e-mail de pedido
fonte
Como load () e save () estão obsoletos agora (porque :)
Eu usei o OrderRepositoryInterface para carregar e salvar o pedido:
Espero que ajude
fonte
Magento 2.2.2 Isso funciona da seguinte maneira!
Mas o único problema que tenho é que ele não atualiza totalmente o status:
Ele atualiza apenas o na grade e o seguinte:
Também não é possível criar nova fatura, remessa e nota de crédito. obrigado
fonte
Graças à resposta @medmek e @ prince-patel. Como pergunta de @ jafar-pinjar sobre o status do pedido personalizado, as chamadas setState e setStatus podem assumir o Código de Status. Por exemplo, o código de status personalizado "pago" é criado. Para atualizar o status / estado para um pedido:
Para atualizar o status do pedido:
Espero que ajude alguém lá fora.
fonte