Кусок кода по созданию обновлению товара в корзине:
...
if ($basketId) {
$item = $basket->getItemById($basketId);
} else {
$item = $basket->createItem('catalog', $productId);
}
$item->setFields(
[
'QUANTITY' => $arItem[OrderItemTable::FIELD_QUANTITY],
'NAME' => $arItem["PRODUCT_NAME"],
'CURRENCY' => \Bitrix\Currency\CurrencyManager::getBaseCurrency(),
'LID' => 's1',
'PRODUCT_XML_ID' => $arItem[OrderItemTable::FIELD_PRODUCT_XML_ID],
'PRICE' => $arItem[OrderItemTable::FIELD_PRICE],
'CUSTOM_PRICE' => 'Y',
]
);
$item->save();
...
$basket->save();
$rs = $rsOrder->save();
Товары в корзине создаются, цена верная, кол-во то же. А вот итоговая сумма заказа 0р...
Помогает следующее, меняю цену в любою сторону, скажем при создании цена была 6р, меняю на 10р..
И после этого Итоговая цена правильная.
Почему так происходит?