Я пытаюсь создать заказ и назначить номер доставки для этого заказа при размещении заказа. Но я вижу, что когда у меня есть счет-фактура и добавленная отгрузка, magento автоматически устанавливает статус заказа на «завершить». Я пытался изменить статус вручную, но это не сработало.
$order = Mage::getModel('sales/order');
$order->loadByIncrementId($orderId);
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true);
$order->save();
Может ли кто-нибудь подсказать мне, как это преодолеть?
Кроме того, как я могу добавить пользовательский носитель? По умолчанию это DHL, FedEx, UPS. Я хочу добавить один похожий на них. Вот как я это делаю:
$carrier = "dhl";
$title = "DHL";
$trackNumber = '538099';
if (1) {
$itemsQty = $order->getItemsCollection()->count();
$shipment =Mage::getModel('sales/service_order',$order)->prepareShipment($itemsQty);
$shipment = new Mage_Sales_Model_Order_Shipment_Api();
$shipmentId = $shipment->create($orderId);
$shipment->addTrack($shipmentId,$carrier,$title,$trackNumber);
}
Для носителя и заголовка, если я даю произвольное имя, я получаю сообщение об ошибке неверного носителя в отчете. Как мне это сделать? Спасибо.