Cita:
Empezado por mamcx
Sqlite da 17.45, Postgres 17.46.
Por ultimo, yo considero que siempre tienes que tener una UNICA fuente de LA VERDAD. O haces redondeos siempre en Firebird, o siempre en Delphi. En mi caso, yo guardo todo los datos calculados en la bd (ie: Los cálculos los hago siempre en Rust, en vez de en Postgres), ya que hay reglas dinámicas para determinar cuando se aplica o no los impuestos (antes o después de los descuentos por ejemplo), así que no puedo hacer cálculos simples en la bd:
Y nunca hago `ROUND` en la bd, porque eso es en mi opinion 'presentacional', ósea, es algo que se configura similar a cual idioma y cual símbolo de moneda se usa. Todo es exacto en la bd (nota como yo no pongo un corte de cuantos decimales aquí, que es un problema el día que tengas que manejar varios países. Japón por ejemplo no usa decimales!) y a la hora de `reportes` se toma esa decisión.
|
Supongo que tienes razón, tendré que totalizar en delphi cada vez que necesite las totalizaciones o crear nuevas tablas para grabar esas totalizaciones y no penalizar en tiempo. Tenía un Store Procedure (proc_totaliza_cab_ventas) que me devolvía una tabla con los totales por bases (bases, descuento, cuotas de iva, cuotas de recargo y total). Obtenía la información bastante rápido... pero con esos descuadres de céntimos. A currar....
Gracias a todos por vuestro interés.