Меняем точность округления цены в 1С-Битрикс
, МихаилЦена/Количество в 1С-Битрикс может округляться до 4 знака. Но что делать, если нам нужна точность до 10 знаков?
Устанавливаем константу /php_interface/init.php define("SALE_VALUE_PRECISION", 10);
В настройках модуля "Интернет-магазин" ставим
Знаков после запятой при выводе количественного значения: Авто
В свойствах таблицы b_sale_basket меняем все длины полей, что содержат 18,4 на 18,10
ALTER TABLE `b_sale_basket` MODIFY `PRICE` decimal(18,10) NOT NULL ; ALTER TABLE `b_sale_basket` MODIFY `BASE_PRICE` decimal(18,10) NULL DEFAULT NULL ; ALTER TABLE `b_sale_basket` MODIFY `QUANTITY` decimal(18,10) NOT NULL DEFAULT "0.0000000000000" ;
Если заказ создаётся через API, а не через админку - то всё хорошо. Если через админку будем менять цену за единицу товара - то всё хорошо, но если "сохранить" без изменений... точность сбросится до 4го знака.