$orderId = 1;
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$order = $objectManager->create('\Magento\Sales\Model\Order')->load($orderId);
$order->setState("processing")->setStatus("processing");
$order->save();
Bitte sagen Sie mir, wie ich den Bestellstatus in Magento 2 aktualisiere.
magento2
sales-order
magento-2.1.3
Rahul Katoch
quelle
quelle
Aktualisierung des Bestellstatus
Um den Auftragsstatus und den Status programmgesteuert zu aktualisieren, definieren Sie den Status und den Status in diesem Format. Initiieren Sie das Bestellobjekt in der Konstruktfunktion und verwenden Sie dieses Bestellobjekt in der benutzerdefinierten Funktion, um es zu aktualisieren. Um den Auftragsstatus programmgesteuert im Modell zu aktualisieren, rufen Sie das Auftragsobjekt aus der Konstruktionsfunktion ab.
Neue Bestell-E-Mail
quelle
Da load () und save () jetzt veraltet sind (weil :)
Ich habe das OrderRepositoryInterface verwendet, um die Bestellung zu laden und zu speichern:
Ich hoffe es hilft
quelle
Danke an @medmek und @ prince-patel Antwort. Als Frage von @ jafar-pinjar zum Status der benutzerdefinierten Bestellung können setState- und setStatus-Aufrufe den Statuscode annehmen. Beispielsweise wird der benutzerdefinierte Statuscode "bezahlt" erstellt. So aktualisieren Sie den Status / Status auf eine Bestellung:
So aktualisieren Sie den Bestellstatus:
Hoffe das hilft jemandem da draußen.
quelle
Magento 2.2.2 Dies funktioniert nur folgendermaßen!
Das einzige Problem, das ich habe, ist, dass der Status nicht vollständig aktualisiert wird:![Geben Sie hier die Bildbeschreibung ein](https://i.stack.imgur.com/TAjQo.png)
Es werden nur die im Raster und die folgenden aktualisiert:![Geben Sie hier die Bildbeschreibung ein](https://i.stack.imgur.com/nB2lA.png)
Es ist auch nicht möglich, eine neue Rechnung, einen neuen Versand und eine neue Gutschrift zu erstellen. Vielen Dank
quelle