надо пересоздать корзину с новыми весами
Если у товара Коэффициент единицы измерения 0.3, а продать можем только 0.2- значит, что-то у Вас не так. Если кратность 0.3, то из 1С должно приходить тоже кратно 0.3 .
$res = CSaleBasket::GetList(array(), array("ORDER_ID" => $ORDER_ID));
$json_product=array();
while ($arBasketItem = $res->Fetch()) {
// впишите правильный ID инфоблока
$filter = ['IBLOCK_ID'=> 1, 'ID' => $arBasketItem['PRODUCT_ID']];
$select = ['ID', 'IBLOCK_ID', 'PREVIEW_PICTURE', 'PROPERY_SIZE', 'PROEPRTY_COLOR_REF'];
$itemRes = CIBlockElement::GetList([], $filter, false, false, $select);
while ( $itemRow = $itemRes->Fetch() ) // может быть, нужно не Fetch, а GetNext()
{
// ...
}
}