Для решения вашей задачи, вы можете использовать метод "setApplyResult" (https://dev.1c-bitrix.ru/api_d7/bitrix/sale/classes/discount/setapplyresult.php), который позволяет указать, какие из выбранных скидок и правил исключить из расчета.
CModule::IncludeModule("sale"); $order = Bitrix\Sale\Order::load(145); // 145 - id заказа $discount=$order->getDiscount(); $discount->setApplyResult(array( 'DISCOUNT_LIST' => array ( "42" => 'N', // 42 - ID скидки из таблицы b_sale_order_discount ) )); $discount->calculate(); $order->save(); |