Clipper/FiveWin - Un empujón, por favor

 
Vista:

Un empujón, por favor

Publicado por Ramon (17 intervenciones) el 14/12/2006 08:31:04
Hola foro,

Estoy haciendo una pequeña aplicación con clipper 5.2 en la cual tengo que unir registros con fechas y horas, es decir, una DB con registros que incluyen marcajes de los empleados, y el problema que tengo es como unir y detectar los marcajes, es decir, si un empleado realiza la entrada, pero no la salida y al dia siguiente realiza la entrada y la salida e aquí mi problema, como detecto que el empleado se ha dejado de marcar la salida de un dia (X) y que el programa no escoja el siguiente marcaje como si fuera el marcaje correcto.

Emp Fecha Hora
0001;01-12-06;08:00
0001;01-12-06;15:02
0001;02-12-06;08:01 <- aquí la x
0001;03-12-06;08:00
0001;03-12-06;15:03

No se como afrontarlo, os pido un poco de ayuda. GRACIAS

Se admiten todas las ideas, ya que estoy desesperado después de varias semanas.

Ramon
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:Un empujón, por favor

Publicado por Antoni Masana (168 intervenciones) el 14/12/2006 10:35:49
Para cada fecha has de tiener dos marcajes ( Entrada y Salida).
Si tienes uno puede ser la entrada o la salida, deducirlo puede depender de la hora.

¿Como solucionas el problema?

1 - Leo registro
2 - Guardo fecha y hora
3 - Leo registro
4 - fecha es igual a fecha anterior
5 - NO - ir paso 2 // (no tengo Entada o salida)
6 - Tengo Entrada y Salida
7 - Ir al paso 1

Esto es en plan esquematico la solucion al problema.
Espero que sea sencillo y claro
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

RE:Un empujón, por favor

Publicado por Polo (20 intervenciones) el 04/01/2007 19:41:02
Lo que veo en la solucion anterior es el problema de entrar en un horario nocturno, es decir suponiendo que entras a las 22hs de 01/01/07 y sales a las 6hs del 02/01/07 la fecha es diferente, pero solo han transcurrido 8hs de la jornada laboral que estan dentro de los parámetros posibles.

Una alternativa también sería que especifiques un plazo máximos de horas a trabajar como parámetro, no mayor a 23 hs.

Ejemplo:

Paramertro de horas = 16hs

al ingresar un registro, lo comparas con el anterior calculando las horas de diferencia entre uno y otro, si superan el parametro lo tomas como una nueva entrada, caso contrario se define como la salida del registro comparado.

Espero te sirva, 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