Hola Miriam, de nuevo, aca abajo te paso un codigo que por ahi lo tenes que modificar un poco para obtener tu resultado, sino proba tambien en el buscador, que una ves tambien un usuario publico codigo para el control de horario de su personal con fecha y hora y diferencia entre si y por ahi tb te puede servir
TxtFec_venta= DATE()+30
nCuota = 1
nMeses = thisform.txtnumcuota.value &&Los meses que quieres desplegar
*- Separo por bloques la fecha
nMes = MONTH(txtFec_venta)
nDia = DAY(txtFec_venta)
nAno = YEAR(txtFec_venta)
nDiaf = DAY(txtFec_venta)
DO WHILE NMeses >= nCuota
*-Armo la fecha
fec_cuo = ctod(PADL(nDia,2,"0")+"/"+PADL(nMes,2,"0")+"/"+PADL(nAno,4,"0"))
?fec_cuo
select cuotatemporal
append blank
rlock()
replace vto with fec_cuo
replace ncuota with ncuota
replace numpagare with npagare
replace importe with totalapagar
replace fec_venta with fecventa
replace numorden with nfactura
flush
unlock all
select ctacte
nCuota = nCuota + 1
if nMes = 12
nMes = 1
else
nMes = MONTH(fec_cuo) + 1
endif
** Calcula ultimo dia del Mes ** flush
unlock all
select ctacte
Tufecha = ctod("01"+"/"+PADL(nMes,2,"0")+"/"+PADL(nAno,4,"0"))
nDiaf = DAY(txtFec_venta)
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
Suerte!!!!
Pablo - Argentina