FoxPro/Visual FoxPro - Calcular dias 1 y dias 2

 
Vista:

Calcular dias 1 y dias 2

Publicado por es_binario (757 intervenciones) el 04/11/2009 16:37:12
Que tal amigos, tengo un formulario que calcula un calendario de pagos dependiendo del sistema de pago semana, quincenal, mensual

algo asi

fecha = thisform.txtFecha.Value
*// si el dia es igual a 1 no hay problema
LOCAL nva_fecha
IF DAY(fecha) <> 1
nva_fecha = fecha - DAY(fecha) + 1
ELSE
nva_fecha = fecha
ENDIF
FOR a = 1 TO pagos_a
*// TIPO DE PAGO
DO CASE
CASE thisform.optiongroup1.Value = 1
fecha = fecha + 7
CASE thisform.optiongroup1.Value = 2
*// dia 2 y dia 16
fecha = fecha + 15
CASE thisform.optiongroup1.Value = 3
*// Suma 1 para meses
fecha = GOMONTH(nva_fecha, a)
ENDCASE

*// dia de pago
DO CASE
CASE DOW(fecha) = 1
el_dia = "DOM"
CASE DOW(fecha) = 2
el_dia = "LUN"
CASE DOW(fecha) = 3
el_dia = "MAR"
CASE DOW(fecha) = 4
el_dia = "MIE"
CASE DOW(fecha) = 5
el_dia = "JUE"
CASE DOW(fecha) = 6
el_dia = "VIE"
CASE DOW(fecha) = 7
el_dia = "SAB"
ENDCASE

INSERT INTO pagos_cur (pag, pago, fechaa, dia_semana) VALUES (a,Thisform.Txtpagos.Value, fecha, el_dia)
ENDFOR

la parte importantes
*// dia 2 y dia 16
fecha = fecha + 15

me gustaria obtener, el dia 2 y el 16

habia probado con una simple decicion
a la fecha se le suman 15 dias

bueno el resultado hago una decicion
if day(fecha) > 15
fecha = fecha - day(fecha) + 2
else
fecha = fecha - day(fecha) + 16
endif

el problema es que hay fechas que se acercan al 29 o 30 y 31 y esas fechas se deben de manejar como dia primero es decir el dia 2

fecha = fecha - day(fecha) + 2

alguien que me heche la mano, se los agradeceria de antemano.
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:Calcular dias 1 y dias 2

Publicado por sebastian (244 intervenciones) el 04/11/2009 19:18:49
Hola haz la prueba sin colocar day

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