В данной статье мы рассмотрим, как можно убрать заказы из очереди на выгрузку с сайта bitrix в 1С.
Флаг EXTERNAL_ORDER
используется для обозначения заказов, которые были созданы в 1С. Если этот флаг установлен, то выгрузка заказа в 1С не требуется.
Флаг UPDATED_1C
устанавливается в “Y” после успешного импорта заказа из 1С на сайт. Заказы с этим флагом не участвуют в дальнейших экспортах до тех пор, пока они не будут обновлены на сайте. При обновлении заказа на сайте, UPDATED_1C
устанавливается обратно в “N”.
Для этого мы будем использовать следующий код:
$orderList = \Bitrix\Sale\Order::getList([
'filter' => [], // здесь вы можете добавить фильтры, если нужно
]);
while ($orderData = $orderList->fetch())
{
$order = \Bitrix\Sale\Order::load($orderData['ID']);
$order->setField('EXTERNAL_ORDER', 'Y'); // изменить любой параметр
$order->setField('UPDATED_1C', 'Y'); // изменить любой параметр
$order->save();
}
Объяснение кода
$orderList = \Bitrix\Sale\Order::getList(['filter' => []]);
— Эта строка кода получает список всех заказов. Вы можете добавить фильтры в массив ‘filter’, если нужно выбрать определенные заказы.while ($orderData = $orderList->fetch())
— Этот цикл проходит по всем заказам, полученным на предыдущем шаге.$order = \Bitrix\Sale\Order::load($orderData['ID']);
— Здесь мы загружаем данные конкретного заказа по его ID.$order->setField('EXTERNAL_ORDER', 'Y');
и$order->setField('UPDATED_1C', 'Y');
— Эти строки кода изменяют параметры заказа. В данном случае, мы устанавливаем ‘EXTERNAL_ORDER’ и ‘UPDATED_1C’ в ‘Y’.$order->save();
— Эта строка сохраняет изменения, сделанные в заказе.
Таким образом, данный код позволяет убрать заказы из очереди на выгрузку, изменяя их статус. Это может быть полезно, если вы хотите контролировать процесс выгрузки заказов.