Manejo de decimales

Un usuario nos comentaba que necesitaba generar un comprobante con 4 decimales y su duda era si la biblioteca lo soportaba y como se podía hacer esto.

Como todos saben, por default, todos los comprobantes generados con EDL siempre salen con 2 decimales, pero esto es algo totalmente opcional y se puede configurar para que cada campo de tipo real pueda tener los decimales deseados, claro siguiendo los lineamientos que da el SAT:

 

  • SubTotal: Puede tener hasta 6 decimales
  • Descuento: Puede tener hasta 6 decimales
  • Total: Puede tener hasta 6 decimales
  • Cantidad: No tiene restricción en el número de decimales.
  • Valor unitario: Puede tener hasta 6 decimales
  • Importe: Puede tener hasta 6 decimales
  • Total de impuestos retenidos: Puede tener hasta 6 decimales
  • Total de impuestos trasladados: Puede tener hasta 6 decimales

 

En la librería todos los campos anteriormente mencionados permiten entre 0 y 6 decimales, esto incluye a la cantidad que como podemos es permitido que contenga más de 6 decimales.

Para indicar cuantos decimales se desea manejar es muy sencillo, solo deben asignar a la propiedad Decimales la cantidad requerida

 

electronicDocument.Data.Total.Decimales   =  5;

 

Si asignas un valor mayor a seis o menor a cero, no será tomado en cuenta y se asignara un dos.

La pregunta más común en este caso, es ¿Que sucede si el valor del atributo contiene más o menos decimales? y para esto podemos ver un ejemplo:

 

electronicDocument.Data.Total.Decimales   =  5;

electronicDocument.Data.Total.Value  =  5.251;  (5.25100)

 

electronicDocument.Data.Total.Decimales   =  2;

electronicDocument.Data.Total.Value  =  5.251;  (5.25)

 

Creemos que con esto queda resuelta la duda, espero les sea de utilidad.

 

Hasta la próxima

Clase no registrada

Algunas personas que inician a trabajar con la biblioteca en la versión de Delphi nos comentan que les ha aparecido este error, como tal no es un error de la biblioteca ya que este mensaje se presenta porque en la computadora no se encuentra instalado:

Comúnmente les enviamos un correo notificándoles el problema y les indicamos de donde pueden descargarlos; debido a lo anterior, hemos decidido agregar una validación a la biblioteca para que verifique si están instalado dicho software y en su caso notifique al usuario, para evitar este error.

Finalmente quieremos comentar que este problema no se presenta para las personas que tiene la versión de C#.

Saludos