Calcular diferencia de meses entre fechas

vForum público de la plataforma de desarrollo Velneo

Moderador: vCoaches

Responder
dsindreu
vMate
vMate
Mensajes: 35
Registrado: 21 Sep 2005, 14:19

Calcular diferencia de meses entre fechas

Mensaje por dsindreu » 24 Nov 2009, 10:13

Buenas a todos y gracias de antemano a quienes me puedan ayudar.
Tengo un cliente que paga comisiones a sus agentes, pero ahora ha introducido un sistema de penalización si el agente se da de baja de la empresa.

Baja de 6 a 12 meses un 25 % de la comisión
Baja de 7 a 18 meses un 50 % de la comisión
Baja de 19 a 24 meses un 75 % de la comisión
Baja de mas de 24 meses un 100 % de la comisión

Las comisiones siempre se pagan en funcion de la fecha de cobro del efecto, y con los tiempos que corren se tardan en cobrar, de ahi el motivo de las reducciones,

Bien el problema esta en calcular el numero de meses de diferencia entre las dos fechas (la de cobro del efecto y la de la baja del agente), lo que hago es calcular la diferencia entre ambas y me la devuelve en dias (solución facil Resultado_Dias/30), pero no son meses exactos ya que hay meses de 30, 31, 28 y/o 29 dias si es bisiesto.

Alguien tiene alguna idea para que me devuelva el numero de meses exactos aunque sea con decimales (lo qual no es problema, ya que el tema se hablo con el cliente y es redondeo hacia arriba).

No se si me he explkcado muy bien.

Muchas gracias

David

Gul
vAdviser
vAdviser
Mensajes: 622
Registrado: 24 Sep 2005, 15:19
Ubicación: Oviedo - Asturias ESPAÑA

Mensaje por Gul » 24 Nov 2009, 17:36

Creo que tienes la respuesta que buscas en la ayuda del programa:
SumaMeses

Devuelve la fecha resultante se sumar el número de meses especificado en el segundo parámetro a la fecha especificada en el primero.
Sintaxis:
fSumaMeses ( Fecha , meses )
Parámetros:
Fecha -> Fecha.

Meses -> Número de meses a sumar a la fecha.

Ejemplo:
Si la fecha es el 2-Jul-1998
fSumaMeses ( %FECHA%, 6 ) -> 2-Ene-1998

Autor: Velneo, S.A.
El número de meses puede ser negativo.
Javier

dsindreu
vMate
vMate
Mensajes: 35
Registrado: 21 Sep 2005, 14:19

Calculo diferencia entre meses

Mensaje por dsindreu » 24 Nov 2009, 17:59

Gracias por la respuesta, pero creo que no me sirve.

Es una empresa que se dedica a representación de jugadores de futbol (Dani Alves, Felipe Melo, entre otros, tambien tienen muchos que juegan en 2ª B o regional, pero que tienen su agente).
Los cobros son con vencimientos muy elevados, por ejemplo un servicio de representación de la temporada 2008-2009 puede tener cobros con fecha vencimiento el 2012.

En este caso tendria tambien la diferencia de los años.

De todas maneras pruebo a ver que me devuelve tu aportación, a ver si me cuadra.

Gracias

Gul
vAdviser
vAdviser
Mensajes: 622
Registrado: 24 Sep 2005, 15:19
Ubicación: Oviedo - Asturias ESPAÑA

Mensaje por Gul » 24 Nov 2009, 19:47

La idea es:


-A fecha de baja del agente generas por proceso las fechas de sus penalizaciones, %FCH_PENALIZ%, partiendo de los parámetros, número de meses y porcentajes.
-Por proceso también, recorres la lista de sus vencimientos pendientes de cobro comparando sus fechas con las de las penalizaciones y ....

Este segundo paso creo que podrías realizarlo montando un enlace indirecto de Vencimientos a Penalizaciones sobre un índice único cuyas partes sean %AGENTES% y %FCH_PENALIZ% resuelto por los campos %AGENTES% y %FCH_VENCIMIENTO%. Ésta sería la solución elegante, sin código y resuelto en el panel de la izquierda, en la estructura de datos.

Espero que te sirva.
Adjuntos
DiferenciaMeses_01.jpg
Esquema
(39.2 KiB) Descargado 49 veces
Javier

Responder