Clarion - Reporte por semanas

 
Vista:
sin imagen de perfil

Reporte por semanas

Publicado por Marco (155 intervenciones) el 17/04/2012 15:30:13
Hola a todos, alguien me puede ayudar: tengo el siguiente problema, debo imprimir un informe por rango de fechas por ejemplo desde el 01/03/2012 al 31/03/2012, pero debo traerlo por semanas, como puedo hacer esto? Gracias
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
sin imagen de perfil

Reporte por semanas

Publicado por Marcelo Madelón (572 intervenciones) el 08/05/2012 15:55:47
Marco

Te paso codigos para trabajar con fechas. Fijate que esta el cálculo del numero de semana
Avisame si te sirvió.

! Cargo una fecha inicial cuando fecha desde es igual a cero

IF LOC:FechaDesde = 0
LOC:FechaDesde = deformat ('01/01/1950',@d6)
END



! Primer Dia del Mes
LOC:FechaDesde = DATE(MONTH(TODAY()),1,YEAR(TODAY()))



! Calculo Nombre del Día y si es Sábado o Domingo sumo 2 o 1 para llegar hasta el Lunes

EXECUTE (LOC:FECHA % 7) + 1
LOC:Dia = 'Domingo'
LOC:Dia = 'Lunes'
LOC:Dia = 'Martes'
LOC:Dia = 'Miércoles'
LOC:Dia = 'Jueves'
LOC:Dia = 'Viernes'
LOC:Dia = 'Sábado'
END

! Otra forma
LOC:DiaSemana = choose((today() %7)+1,'Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado')


! Para leer el dia que usa el template de mostrar dia de la semana
?DiaSemana{PROP:Text}=''
if LOC:FechaActual<>0
?DiaSemana{PROP:Text}=CLIP(DisplayDayText[(LOC:FechaActual%7)+1]); display
End


! Para Calcular el Número de Semana del Año
Loc:NroSemana = (Loc:Fecha_A_Calcular - date(01,01,year(Loc:Fecha_A_Calcular) / 7

Y tomar la parte entera de esto, sumar 1.
La fecha que formás con DATE debe ser siempre el 1 de enero del año que te interesa.
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