[Lazarus-es] trabajando con horas
Paola Bruccoleri
pbruccoleri en adinet.com.uy
Dom Oct 17 20:04:32 CEST 2010
Hola a todos..
necesito la ayuda experta de Uds..
Tengo una tabla en Firebird con campos de este tipo, donde se guardan
las hs trabajadas diariamente.
HS_OPERARIO TIME
......
Necesito hacer un reporte donde obtener obviamente la suma de horas por
vehiculo, y a la vez una suma total.
Lo más lógico sería hacer un select sum(hs_operario) from tabla.... pero
en firebird esto no funciona tan así.
He logrado obtener con sql la suma extrayendo horas, minutos, segundos,
haciendo cuentas y obteniendo el resultado en formato hhh:mm:ss, pero
como string.
No puedo usar un cast a tipo time porque obviamente obtendré valores de
mas de 24hs. Y se me cpmplica obtener la suma total de los renglones..
Encontré otra forma de sumar horas pero me devuelve el resultado en
segundos.
Entonces, pensé que lazreport me hiciera las cuentas y obtener el
formato que yo deseo, haciendo algo de este tipo:
[ [qry."HS_TRABAJO"] / 3600 + ":"+ MOD([qry."HS_TRABAJO"], 3600)/60 +
":"+ MOD( MOD([qry."HS_TRABAJO"], 3600), 60)
pero esto no funciona así.. además, necesitaría obtener las partes
enteras de las divisiones...
Quizás haya que usar algo en OnUserFunction, pero no me doy cuenta de
cómo resolverlo.
Les agradezco enormemente..!
chauuuuuuuuu
More information about the Lazarus-es
mailing list