FoxPro/Visual FoxPro - Problemas con fecha

 
Vista:

Problemas con fecha

Publicado por Alberto (4 intervenciones) el 07/11/2012 22:05:40
Estoy teninendo problemas con la creacion de reportes en visual foxpro 9 el siguiente codigo genera reportes en base a "FOR i = 1 TO m.plazo" lo cual determina la cantidad de reportes que tiene que generar. Despues genera los reportes con fecha con incrementos de un mes hasta llegar a diciembre ahi cambia el ano al siguiente. Pero solo funciona cuando la fecha actual es de enero a octubre. En octubre y diciembre dice que no encontro variable "ano1". Quisiera saber como poder hacer que funcione.


SELECT pa
ZAP
cwfecontrato = ALLTRIM(m.dia)+' DE '+ALLTRIM(UPPER(m.mes))+' DE '+ALLTRIM(m.año)
cwdiasp = ALLTRIM(STR(m.diasp))
mesp = MONTH(m.fecha)
mesant = MONTH(m.fecha)
añop = YEAR(m.fecha)
FOR i = 1 TO m.plazo
WAIT WINDOW NOWAIT 'Calculando Número y Fecha para cada Letra '
mesp = mesant+1
mesant = mesp
dwfe = CTOD(cwdiasp+'/'+ALLTRIM(STR(mesp))+'/'+ALLTRIM(STR(añop)))
cwfe = cwdiasp+' de '+ameses(MONTH(dwfe))+' de '+ALLTRIM(STR(añop))
INSERT INTO pa VALUES (m.folio, i, dwfe, cwfe)
IF mesp=12
mesant = 0
nextyear = año1+1
añop = nextyear
ELSE
año1 = añop
ENDIF
ENDFOR
WAIT CLEAR
SELECT pa
cwrep = 'reportes\pagares'
_ASCIICOLS = 150
_ASCIIROWS = 100
DEFINE WINDOW wventi FROM 3, 5 TO 20, 78 FONT 'Courier New', 10 STYLE 'N' GROW FLOAT NOCLOSE ZOOM SHADOW TITLE ' (ESC para Continuar)' NOMINIMIZE SYSTEM COLOR SCHEME 10
REPORT FORM (cwrep) ASCII NOEJECT TO FILE (wimpre) NOCONSOLE FOR .NOT. DELETED() .AND. pa.folio=m.folio
KEYBOARD '{CTRL+F10}'
MODIFY COMMAND (wimpre) NOEDIT WINDOW wventi
IF MESSAGEBOX('Desea Imprimir los Pagares', 0292, 'Contratacíón')=6
SET HEADING OFF
SET CONSOLE OFF
cwnomimp = GETPRINTER()
IF .NOT. EMPTY(cwnomimp)
SET PRINTER TO NAME (cwnomimp)
GOTO TOP
REPORT FORM (cwrep) NOEJECT TO PRINTER NOCONSOLE FOR .NOT. DELETED() .AND. pa.folio=m.folio
ENDIF
ENDIF
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
Imágen de perfil de Mauricio
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Problemas con fecha

Publicado por Mauricio (1541 intervenciones) el 08/11/2012 00:09:31
Alberto, ejecute tu prg sin cambiarle nada y me funciono muy bien le di en el FOR para 2 años y no me dio error alguno, deberias revisar tus variables de trabajo, puede ser que algo por alli este el error.
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

Problemas con fecha

Publicado por Alberto (4 intervenciones) el 08/11/2012 01:14:00
Tienes alguna idea porque funciona solo con los meses de enero a octubre y no funciona con noviembre y diciembre?
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
Imágen de perfil de Mauricio
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Problemas con fecha

Publicado por Mauricio (1541 intervenciones) el 08/11/2012 17:34:01
*---
aca esta el codigo, corre desde octubre 18 meses mas, corre de enero a 18 meses, te repito: Revisa tus variables que capturas en el FORM.
*-----
*SELECT pa
*ZAP
m.dia = '02'
m.mes ='enero'
m.año = '2012'
m.diasp = 25
m.fecha = CTOD('01/10/2012')
cwfecontrato = ALLTRIM(m.dia)+' DE '+ALLTRIM(UPPER(m.mes))+' DE '+ALLTRIM(m.año)
cwdiasp = ALLTRIM(STR(m.diasp))
mesp = MONTH(m.fecha)
mesant = MONTH(m.fecha)
añop = YEAR(m.fecha)
m.plazo = 18
SET STEP ON
FOR i = 1 TO m.plazo
WAIT WINDOW NOWAIT 'Calculando Número y Fecha para cada Letra '
mesp = mesant+1
mesant = mesp
dwfe = CTOD(cwdiasp+'/'+ALLTRIM(STR(mesp))+'/'+ALLTRIM(STR(añop)))
* cwfe = cwdiasp+' de '+ameses(MONTH(dwfe))+' de '+ALLTRIM(STR(añop))
* INSERT INTO pa VALUES (m.folio, i, dwfe, cwfe)
IF mesp=12
mesant = 0
nextyear = año1+1
añop = nextyear
ELSE
año1 = añop
ENDIF
ENDFOR
SET STEP OFF
RETURN
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