проблема с точностью округления цены в 1С-Битрикс

Цена/Количество в 1С-Битрикс может округляться до 4 знака.
Если нужно больше точность то нужно пошаманить.
[spoiler]
Установим константу /php_interface/dbconn.php

define("SALE_VALUE_PRECISION", 8);
define("CATALOG_VALUE_PRECISION", 8);


В настройках модуля "Интернет-магазин" ставим

Знаков после запятой при выводе количественного значения: Авто
Точность округления при расчетах : .0000

В свойствах таблицы b_sale_basket меняем все длины полей, что содержат на 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" ;


Совсем жесть, если вам не хватает точности округления при расчетах в 4 знака после запятой, то идем в таблицу b_option и меняем значение value_precision модуля sale на нужное число (например 6). Учтите, что после этого нельзя пересохранять настройки модуля интернет-магазина