Программный пересчет заказа в 1С-Битрикс

Программный пересчет заказа в 1С-Битрикс
16.10.2019

Программный пересчет заказа в 1С-Битрикс

Если были добавлены скидки и нужно сделать перерасчет, можно так:
\Bitrix\Main\Loader::includeModule('sale');

$order = \Bitrix\Sale\Order::load($orderId); // или $order = \Bitrix\Sale\Order::loadByAccountNumber($orderNumber);

$discount = $order->getDiscount();
\Bitrix\Sale\DiscountCouponsManager::clearApply(true);
\Bitrix\Sale\DiscountCouponsManager::useSavedCouponsForApply(true);
$discount->setOrderRefresh(true);
$discount->setApplyResult(array());

if (!($basket = $order->getBasket())) {
   throw new \Bitrix\Main\ObjectNotFoundException('Entity "Basket" not found');
}

$basket->refreshData(array('PRICE', 'COUPONS'));
$discount->calculate();
$order->save();


Fatal error: require_once(): Failed opening required '/var/www/u1393462/data/www/4abv.ru/bitrix/webcraft-api/module/inc.php' (include_path='.:') in /var/www/u1393462/data/www/4abv.ru/bitrix/templates/alexb/footer.php on line 761