Causas:
Debido a la naturaleza de los tipos de datos que utilizan nuestros sistemas ERP MaxiComercio/Déminus para los cálculos en operaciones monetarias (Currency), se pierde la precisión cuando se utilizan más de 4 decimales. El tipo de datos Moneda admite hasta cuatro dígitos a la derecha del separador decimal y quince dígitos a la izquierda; Es un tipo de datos de punto fijo preciso adecuado para cálculos monetarios (fuente: MSDN.- Conceptos de Visual Basic, Tipos de Datos).Este tipo de imprecisiones en decimales es más común cuando tenemos cantidades muy grandes por vender, por ejemplo:Se realiza una venta con una cantidad de 40,000.00 kilogramos de Aguacate Has con un precio de $2.467864 por kilogramoSubtotal con el tipo de dato Currency, el precio se redondea al decimal más próximo ($2.4679): $ 98,716.00Subtotal contemplando todos los decimales: $ 98, 714.56
Solución:
Se recomienda que al realizar una venta se utilice una unidad equivalente pero de mayor magnitud, por ejemplo: si nosotros vendemos el producto por kilogramos, podemos agregar al producto la unidad toneladas, la cual es equivalente a 1,000 kilogramos, lo cual nos reduciría la cantidad de decimales.Tomando el ejemplo ilustrado en la sección anterior podemos hacer la conversión de la venta en kilogramos a Toneladas, lo cual nos generaría los siguientes cambios.La cantidad a vender se convertiría a 40 y el precio por tonelada seria $2467.864 y los cálculos serían los siguientes: 40 x 24,67.864 = 98,714.56Como podemos ver el resultado es el mismo que al utilizar todos los decimales.
Descripción:
No hay descripción