Problema de redondeo en Prestashop 1.6
En ocasiones, estableciendo los precios de los productos, nos encontramos con un problema de redondeo en el cálculo de sus precios. Vemos que este problema aparece en diversas instalaciones de muchos usuarios, con productos que tienen impuestos incluidos y además incrementos o reducción de precios en sus combinaciones.
Los precios se desajustan en ocasiones exactamente 1 céntimo arriba o abajo. Por ejemplo, si el precio final, con impuestos y reducciones es 10,00 €, se muestra 10,01€ ó bien 9,99€.
Hemos encontrado un hilo en el foro oficial que habla del problema:
Editando el fichero product.js de la carpeta js del tema, buscando la línea
priceWithGroupReductionWithoutTax = ps_round(basePriceWithoutTax * (1 - group_reduction), 2);
Y cambiándola por:
priceWithGroupReductionWithoutTax = ps_round(basePriceWithoutTax * (1 - group_reduction), 6);
Otra forma de solucionarlo, quizá para un problema muy similar:
Verifica en Localización => Moneda, en la moneda que usas que formato tienes, vuelve a guardar los cambios.
Revisa también en Preferencias => Configuración => Tipo de redondeo, manten la opción de clásico el elige alguno según te convenga
Agrega un nuevo producto con precios similares al del ejemplo q te da error y verifica si te sucede lo mismo.
Y otra: en Github
Y más:
http://vicentbadia.com/prestashop-1-6-0-9-%C2%B7-error-al-redondear-los-precios-en-la-ficha-de-producto/
https://github.com/PrestaShop/PrestaShop/commit/75692e60d3ed91f7fa9fffaa89c668de5f81db81
http://noisesofhill.com/redondeo-prestashop/
La mayoría de las soluciones son para versiones de Prestashop anteriores a la 1.6.1.x.
Al parecer estos errores se han ido corrigiendo en versiones posteriores, con lo que nosotros lo hemos solucionado así: Recordamos que un usuario nos aconsejaba que revisáramos Preferencias => Configuración => Tipo de redondeo, donde hemos dejado los campos como se indica en la imagen de más abajo. Se ha solucionado inmediatamente, sin necesidad de cambiar nada del código fuente. Les invito a probar la solución, hemos comprobado que funciona en una versión de Prestashop 1.6.1.4.