В данной статье мы рассмотрим, как можно убрать заказы из очереди на выгрузку с сайта 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();— Эта строка сохраняет изменения, сделанные в заказе.
Таким образом, данный код позволяет убрать заказы из очереди на выгрузку, изменяя их статус. Это может быть полезно, если вы хотите контролировать процесс выгрузки заказов.