Автоматически отгрузить заказ и сменить статус отгрузки, при выполнении заказа.

RSS
Автоматически отгрузить заказ и сменить статус отгрузки, при выполнении заказа.
 
Автоматически отгрузить заказ и сменить статус отгрузки, при выполнении заказа.

Проблема: Заказы, на сайте, обрабатываются только в 1С. При этом 1С не работает с отгрузками и обменивается только статусами: "Принят", "Оплачен" и "Выполнен". Но, по закону, после выполнения заказа нужно отправлять на печать второй чек (чек отгрузки). Что бы сайт напечатал второй чек- статус отгрузки заказа должен быть переведен в "Отгружено".
 
В заметке использовано старое событие, оно работает немного быстрее.
Но, тоже самое на D7

Код
\Bitrix\Main\EventManager::getInstance()->addEventHandler('sale', 'OnSaleStatusOrderChange', ['Handler', 'OnSaleStatusOrderChange']);
class Handler {
    function OnSaleStatusOrderChange($event)
    {
        $parameters = $event->getParameters();
        if ($parameters['VALUE'] === 'F')
        {
            Loader::includeModule("sale");
            $order = \Bitrix\Sale\Order::load($orderID);
            $collection = $order->getShipmentCollection()->getNotSystemItems();
            foreach ($collection as $shipment)
            {
                $shipment->setField('DEDUCTED', 'Y');
            }
            $order->save();
        }
        return new \Bitrix\Main\EventResult(
            \Bitrix\Main\EventResult::SUCCESS
        );
    }
}
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Ютубе