Решение проблемы с точностью вывода цен (округлением).
При добавлении в корзину цена округляется, что довольно странно на первый взгляд.
Например, цена товара задана с точностью до 4 знака: 10,4561 руб., но при добавлении в корзину цена округляется до сотых: 10,46 руб. Как выяснилось, существуют ограничения в самой базе данных, что не позволяют работать с более точными числами.
Поэтому:
В таблицах
b_catalog_price
b_sale_basket
для столбца PRICE нужно задать большую точность: decimal(18,4) (по-умолчанию decimal(18,2)).
После этого возможно сохранение цен с большей точностью.
В файле dbconn.php задать константы (по-умолчанию - 2):
define("SALE_VALUE_PRECISION", 4);
define("CATALOG_VALUE_PRECISION", 4);
Эти константы используются в компоненте оформления заказа sale.order.ajax.
При добавлении в корзину цена округляется, что довольно странно на первый взгляд.
Например, цена товара задана с точностью до 4 знака: 10,4561 руб., но при добавлении в корзину цена округляется до сотых: 10,46 руб. Как выяснилось, существуют ограничения в самой базе данных, что не позволяют работать с более точными числами.
Поэтому:
В таблицах
b_catalog_price
b_sale_basket
для столбца PRICE нужно задать большую точность: decimal(18,4) (по-умолчанию decimal(18,2)).
После этого возможно сохранение цен с большей точностью.
В файле dbconn.php задать константы (по-умолчанию - 2):
define("SALE_VALUE_PRECISION", 4);
define("CATALOG_VALUE_PRECISION", 4);
Эти константы используются в компоненте оформления заказа sale.order.ajax.