Всем привет!
Подскажите, пожалуйста, вот я удаляю товар из существующего заказа, но при удалении пропадают скидки на другие товары в заказе. Скидки пропадают, скорей всего из за того что в правилах корзины их нет...
Как то можно сделать что бы удалял только указанный товар и не редактировал другие, а так же делал перерасчет суммы?
use Bitrix\Sale;
$order = Sale\Order::load($orderId);
$basket = Sale\Order::load($orderId)->getBasket();
foreach ($basket as $basketItem) {
if ($basketItem->getField('PRODUCT_XML_ID')==$PRODUCT_ID) {
$zapID = $basketItem->getField('ID');
$basket->getItemById($zapID)->delete();
}//endif
}//endforeach
$basket->save();
$order->refreshData();
$discount = $order->getDiscount();
\Bitrix\Sale\DiscountCouponsManager::clearApply(true);
\Bitrix\Sale\DiscountCouponsManager::useSavedCouponsForApply(true);
$discount->setOrderRefresh(true);
$discount->setApplyResult(array());
$discount->calculate();
$order->doFinalAction(true);
$result = $order->save();
Так же есть вопрос, скиньте, пожалуйста, на документацию как ДОБАВЛЯТЬ существующий товар в существующий заказ, или может у кого наработка есть, было бы круто, если бы поделились кодом.
Делаю все это для изменения заказа из 1с.