FoxPro/Visual FoxPro - generar fechas

 
Vista:

generar fechas

Publicado por adrian (39 intervenciones) el 26/08/2008 03:37:33
holaa amigos! como estan?,les comento el problema que tengo.nesecito generar fechas,ingresando la fecha de inicio y el plan de cuotas que son del 1 al 12,o sea lo que tengo que generar es el pago de cuotas pero no cada 30 0 31 dias exactos,seria desde la fecha de inicio y generando la proxima fecha del a cuota el mismo dia,o sea si la fecha de inicio es el 12/03/08 y las cantidad de cuotas es 3 me tendria que generar estas fechas 12/03/08 ,12/04/08 ,12/05/08 o sea todos los 12 de los meses,el problema es que pasa si el inicio es un dia 31 o si es un 29 tendria problemas en el mes de febrero y con los meses que tienen 30 dias.probe sumando 1 solo al mes pero siempre voy a tener problemas.espero que alguien me pueda ayudar les mando un abrazo,saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:generar fechas

Publicado por Saul (El Guatemalteco...) (728 intervenciones) el 26/08/2008 06:49:02
Hola Adrian se me hace que lo que necesitas esta mi rutina que me hice
para una cuaenta corriente que hice hace ratos.
Suerte pruebala cualquier cosa ya sabes a la orden

****************************************************************************0

CLEAR
SET CENTURY on
SET DATE TO BRITISH

TxtFec_Enga = DATE()
nCuota = 1
nMeses = 12 &&Los meses que quieres desplegar

*- Separo por bloques la fecha
nMes = MONTH(txtFec_enga)
nDia = DAY(txtFec_enga)
nAno = YEAR(txtFec_enga)
nDiaf = DAY(txtFec_enga)



DO WHILE NMeses >= nCuota

*-Armo la fecha
fec_cuo = ctod(PADL(nDia,2,"0")+"/"+PADL(nMes,2,"0")+"/"+PADL(nAno,4,"0"))
?fec_cuo

nCuota = nCuota + 1
if nMes = 12
nMes = 1
else
nMes = MONTH(fec_cuo) + 1
endif

** Calcula ultimo dia del Mes **
Tufecha = ctod("01"+"/"+PADL(nMes,2,"0")+"/"+PADL(nAno,4,"0"))

nDiaf = DAY(txtFec_enga)

do case
case nDiaf > 28 and nMes = 2
nDia = 28
case nDiaf > 30 and nMes <> 2
nDia = DAY(gomonth(TuFecha - DAY(TuFecha) + 1, 1 )-1) &&Ultimo Dia
otherwise
nDia = nDiaf
endcase
*- Sumo si fuera otro año
nAno = YEAR(fec_cuo)
nAno = iif(nMes=1,nAno + 1,nAno)
ENDDO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

gracias!!!

Publicado por adrian (39 intervenciones) el 26/08/2008 20:12:15
holaa amigo me funciono perfecto me ayudaste muchisimo te lo agradezco un monton,muchas gracias! un abrazo ,saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:generar fechas

Publicado por ALBERTO (404 intervenciones) el 26/08/2008 19:17:15
FANTASTICO AMIGO ANDA GENIAL LA RUTINA
SALUDOS DESDE SANTA FE ARGENTINA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar