Actualmente este campo es de tipo MONEY lo cual limita a 4 decimales el valor registrado en este, y esto impacta en el calculo de horas extras, para el caso especifico de este cliente se dio en Honduras ya que en esta planilla se tienen salarios en dolares que se pagan en Lempiras y al momento de realizar el calculo en Evolution, la aproximación no cuadra con los montos calculados en el sistema anterior. Haciendo el calculo manualmente se verifico que al utilizar mas decimales en el valor correspondiente al Salario x Hora se obtenía una aproximación mas exacta al valor indicado. Por esto, se procedio a modificar la estructura de esta tabla para cambiar el tipo de dato de MONEY a FLOAT.

El problema es que posterior a ese cambio, se dieron algunos inconvenientes en las pantallas de acciones de personal, en donde no se mostraba la información detallada del empleado/empleado solicitante que se seleccionaba. Y para el caso especifico de la Contratación se reportaba una excepción de SQL sobre el formato de las fechas y no dejaba grabar el registro.

asked 24 Jul '15, 16:04

Valentino%20Lopez's gravatar image

Valentino Lopez
(suspended)
accept rate: 42%


No podes modificar la estructura de los campos de la tabla sin esperar que existan inconvenientes, principalmente si cambias de MONEY a FLOAT.

FLOAT es un tipo de dato que no tiene un número de decimales fijo y es representado por C# como 'double', mientras que MONEY es representado por C# como de tipo 'decimal'. Entonces seguramente se van a tener pérdidas de decimales por conversión al mover el float a los modelos de datos de Evolution que utilizan decimal.

Entonces te recomiendo que regreses el tipo de dato a MONEY como estaba. Evolution redondea el calculo del salario por hora de acuerdo al número de decimales configurados en el parámetro correspondiente. El parámetro solamente puede ser un número entre 0 y 4, porque el tipo de dato MONEY no soporta más de cuatro decimales.

El sistema anterior no maneja correctamente el redondeo de los decimales y por eso se dan las diferencias. Lo recomendable es que todos los valores en moneda sean redondeados de manera consistente, tal y como lo hace Evolution, para que siempre los cálculos sean predecibles.

En general si buscas en internet vas a encontrar muchas discusiones sobre la conveniencia o no de usar tipos de datos REAL o FLOAT y su aplicación correcta. Nosotros en el equipo de desarrollo de Evolution seguimos la tendencia de no utilizar estos tipos porque nos traen perjuicios en el manejo de las cantidades con decimales, y porque las formulas VBS de las planillas los manejan mal.

link

answered 25 Jul '15, 09:41

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

Una consulta adicional.... si el tipo Float da problema y el tipo Money se interpreta como Decimal, seria usar Decimal con mas decimales... probé eso en desarrollo, cambiando el campo salario x hora (estruc.sal. y estruc.sal.contrat.) de MONEY a DECIMAL(16,8) evitando los problemas que se reportaron con FLOAT. Pero en contrataciones el valor en pantalla sale a 4 decimales siempre, podra cambiarse algo en esta vista para usar todos los decimales especificados en el tipo de dato?

(27 Jul '15, 17:06) Valentino Lopez Valentino%20Lopez's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Evolution en BitBucket

En este sitio puede acceder al código fuente, centro de descargas y reportar bugs, propuestas y mejoras para Evolution.

Evolution en JIRA

En este sitio puedes sugerir nueva funcionalidad para Evolution, o puedes votar por la funcionalidad ya propuesta por otros usuarios.

Tags:

×11
×9
×5
×2

Asked: 24 Jul '15, 16:04

Seen: 2,068 times

Last updated: 27 Jul '15, 17:06

[Acerca de] [Preguntas Frecuentes] [Privacidad] [Soporte] [Contacto]
Copyright 2013-2018. Asesores en Informática