Приветствую. Взяли сдуру битрикс за основу в разработке одного специфического магазина. Есть необходимость продавать товар на основе кучи условий которые влияют на цену для каждого клиента, Переписали для этого всё что только возможно. От битрикса осталась корзина и список заказов по сути, поэтому не могу судить кто делает одну проблему. В общем, есть товар, он может продаваться фасованным, скажем по 25кг и за тонну. Клиент при заказе товара указывает единицу измерения(упаковка, тонна) и количество товара. Базовая единица - тонна. При покупке упаковки идет перерасчет стоимости упаковки которая выполняется умножением на коэффициент. Например тонна товара стоит 282,9 с НДС, при покупке упаковки, например на 25 кг, цена получается 7,0725(230*0,025, где 0,025 это коэффициент). То есть, 40 упаковок по 25кг за 7,0725 должны быть равны стоимости товара за тонну. Всё бы было круто, цену за упаковку определяем, но когда её даем использовать битриксу, он цену за товар любезно обрезает на втором знаке после запятой. В конечном итоге, вместо 7,0725 за 12 единиц товара, мы получаем не 7,0725*12=84,87 а 7,07*12=84,84 от чего три заветные копеечки уже уходят в штраф. Как заставить битрикс уважать хотя бы 4 знака после запятой при определении своей цены? Используем для определения цены события OnBeforeBasketUpdate, OnBeforeBasketAdd в которых определяем цену, возвращаем, но любезный битрикс где-то в недрах самого себя цену округляет до 2-х знаков.