Меню

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

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

Проблема: Заказы, на сайте, обрабатываются только в 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
        );
    }
}
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 

Блог-note: заметки разработчика

Показать только один тип цены в каталоге Битрикс

Достаточно часто, при создании сайта на битрикс, можно столкнуться с такой проблемой: на сайте имеется несколько групп о...

Подключение jquery из ядра битрикс и объединение своих скриптов в один файл

Если используете большое количество js скриптов на сайте. Например: фансибокс, всяческие галереи и прочее- то таких внеш...

Заполнить картинки разделов каталога из картинок товаров

Задача: в каталоге, разделы и подразделы выводятся в виде плитки над товарами, с картинками разделов. Так как разделов и...

Данные о заказе текущего пользователя

Иногда нужно получить данные о заказе текущего пользователя. Не через компонент, а непосредственно через API Битрикс. Ва...

Получить список элементов инфоблока с ценами с помощью D7

Задача: использовать D7 в 1С-Битрикс для получения списка элементов инфоблока вместе с их ценами. Это может быть полезно...

Обновить страницу Inapbrowser в приложении Apache Cordova, при выходе из фона

Задача: Мобильное приложение, созданное на Apache Cordova должно перезагрузить текущую страницу, открытую с помощью плаг...

Заполнить свойство заказа выбранным пунктом самовывоза и передать в 1С

Задача: При оформлении заказа пользователь может выбрать пункт самовывоза (склады магазина). Нужно заполнить сво...

Доступ к домашнему серверу с серым IP из интернета через SSH-тоннель

Предположим, у вас есть сервер в домашней сети, который недоступен из интернета, так как находится за NAT с серым IP. Вы...

Следующая/предыдущая новость/статья при просмотре подробной в Битрикс

Странное дело, в Битрикс по умолчанию, отсутсвует функционал для навигации внутри новостей или статей типа: "Следующая/...