Tôi đang cố đánh dấu một lệnh "Đang xử lý" là Hoàn thành khi tôi nhận được phản hồi nhất định từ dịch vụ của bên thứ ba. Tôi đã có tất cả mọi thứ thiết lập cho điều này, nhưng vấn đề duy nhất là các đơn đặt hàng đang ở trong trạng thái xử lý.Đánh dấu một trật tự Magento là hoàn thành theo lập trình
tôi là tạo ra một hóa đơn (Tôi không nghĩ rằng tôi cần điều này mặc dù, như mỗi mục được đánh dấu là "hóa đơn" trong backend Magento) và một lô hàng như vậy:
$order = Mage::getModel('sales/order')... (etc)
$shipment = $order->prepareShipment($quantities);
$shipment->register();
$shipment->setOrder($order);
$shipment->save();
$invoice = $order->prepareInvoice($quantities);
$invoice->register();
$invoice->setOrder($order);
$invoice->save();
này doesn dường như không làm điều đó mặc dù - Tôi không nhận được lỗi nào từ mã này, nhưng thứ tự vẫn là xử lý. Trong chương trình phụ trợ, tôi vẫn có thể thấy nút "Giao hàng" ở đầu đơn đặt hàng và mỗi mục nằm trong trạng thái "được lập hóa đơn".
Mọi mẹo sẽ được đánh giá cao.
Cảm ơn, mã trong bài viết đã làm các trick sau khi tôi thay đổi để cho một lô hàng chứ không phải hóa đơn. – gregdev
Thật không may, liên kết đã bị hỏng. – Mike
Sẽ thực sự tốt đẹp khi có liên kết được cập nhật. archive.org vẫn có phiên bản liên kết trong trường hợp ai đó quan tâm. http://web.archive.org/web/20110414102634/http://snowcore.net/magento-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0 % BC% D0% BC% D0% BD% D0% B0% D1% 8F-% D0% B0% D0% BA% D1% 82% D0% B8% D0% B2% D0% B0% D1% 86% D0% B8% D1% 8F-% D0% B7% D0% B0% D0% BA% D0% B0% D0% B7% D0% B0. Sử dụng google chrome để nhận bản dịch. – shaune