Требовалось: почистить все корзины пользователей, которые БЕЗ заказа отменить все неоплаченные заказы |
Битрикс тоже так делает, если чо 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; |