Обучаю битриксу программистов, интеграторов. Подробнee ⇒

Почистить ВСЕ корзины пользователей, отменить ВСЕ неоплаченные заказы



Требовалось:
почистить все корзины пользователей, которые БЕЗ заказа
отменить все неоплаченные заказы
через апи битрикса долго, решила через SQL запросы тут /bitrix/admin/sql.php?lang=en&del_query=Y

Битрикс тоже так делает, если чо http://bxapi.ru/src/?module_id=sale&name=Basket::deleteOld

почистить ВСЕ корзины, БЕЗ заказа
Delete from b_sale_basket where ORDER_ID is null or ORDER_ID=''
свойства удаленных товаров в корзине потом почистить
DELETE
            FROM b_sale_basket_props
            WHERE b_sale_basket_props.BASKET_ID NOT IN (
                SELECT b_sale_basket.ID FROM b_sale_basket
            );

отменить ВСЕ неоплаченные заказы
\Bitrix\Main\Loader::includeModule('sale');
$dbRes = \Bitrix\Sale\Order::getList([
   'select' => ['ID'],
 'filter' => [
     "STATUS_ID"=>"N",
     "PAYED" => "N", //неоплаченные
     "CANCELED" =>"N", //неотмененные
 ],
 'order' => ['ID' => 'DESC']
]);
$i = 0;
while ($order = $dbRes->fetch()){
  $i++;
   var_dump($order);
   CSaleOrder::Update($order["ID"], ["CANCELED" =>"Y"]);
}
echo $i;
Если блог был полезным, можете угостить меня "чашечкой кофе" :)

Сбер по номеру телефона +7 (953) 585-13-09 Вероника.
Спасибо!