Tema: Ayuda Fechas
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/07/2010, 08:56
Avatar de Porlachucha
Porlachucha
 
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago
Mensajes: 172
Antigüedad: 16 años, 5 meses
Puntos: 5
Respuesta: Ayuda Fechas

Cita:
Iniciado por J0rg3M4r10 Ver Mensaje
Hola
saludos..

he realizado un sofware que registra la Hora de Entrada y la hora de Salida de un empleado, el programa calcula bien las horas laboradas por el empleado, el problema es cuando un empleado entra y sale varias al dia el programa calcula las horas por cada entrada y salida........un ejemplo

Tomasito==> FechaEntrada: 2010-07-14 09:00 FechaSalida: 2010-07-14 15:00

el programa calcula que Tomasito trabajo 6 horas

como calculo si entra y sale varias veces al dia....ej:

Tomasito ==> FechaEntrada: 2010-07-14 06:00 FechaSalida: 2010-07-14 10:00

FechaEntrada: 2010-07-14 12:00 FechaSalida: 2010-07-14 14:00

nesecito una idea

gracias de antemano (si puden explicarlo en c# seria mejor)
?? y cual es el problema? usa el mismo calculo y sumas las horas resultantes...
tienes registradas las horas en una base de datos?. puedes identificar si la marca de tiempo es de entrada o salida? en ese caso, solo debes rescatar los registros por usuario en forma cronologica, y por cada marca, calcular la diferencia de tiempo de cada segmento. adicionalmente vas sumando los segmentos de tiempo, y tienes las horas que trabajo en un dia... debes tener cuidado cuando hay marcas que comienzan en un dia A, y terminan un dia B (ejemplo personas que trabajan en el turno de noche), ya que en este caso, el calculo debe involucrar la fecha.
uno de los mejores metodos para calcular diferencias entre fechas, es calcularlo en la base de datos, mediante un query que te devuelva los datos ya calculados.
ejemplo :

abs(convert( decimal (5,2), datediff(minute, convert(datetime, substring(convert(char(23),inghorsal), 12, 8)), convert(datetime, substring(convert(char(23),inghorent), 12, 8))) / 60.0)) as 'Total_Horas',

con eso calculas en el SP, las horas entre 2 fechas.

espero te sirva
Plch
__________________
Nada mas patetico que "detestar" a Intel o Microsoft o Windows o Apple ... apuesto que eres el tipico teton espinilluo y pajero que usa Linux para sentirse capo ...