Bueno necesita pedir una ayuda con un codigo ya que a veces varias
cabezas piensan mejor que una, este es el problema.
Tengo un archivo de marcaciones de Entrada y Salida de Empleados por
huella Dactilar, donde se encuantre la marcacion cuando entran y salen
del trabajo, yo debo asignar dichas marcaciones a un turno de trabajo
para efectos de nomina, dichos turnos son los siguientes:
1. 6:00 a 14:00
2. 14:00 a 22:00
3. 22:00 a 6:00
4. 8:00 a 17:00
5. 6:00 a 18:00
6 18:00 a 6:00
Debo verificar donde existe mas interseccion de horas en un turno,
entonces si por ejemplo la marcacion de entrada fue a las 7 y la de
salida fue a las 20, debo asignar el turno que mas horas esten
contenidas o intersectadas, no puedo asignar el de 6 a 14 por que solo
hay 7 horas intersectadas, tampoco el de 8 a 17 por que solo hay 9
horas intersectadas, entonces el que mas horas intersectadas tiene es
el turno de 6 a 18 que tiene 11 horas intersectadas.
Yo estaba pensado en poner unos limites por ejemplo el siguiente
codigo:
IF (HENTRADA=6 .AND. HSALIDA=14)
*ASIGNO A TURNO 6 A 14
ENDIF
Pero cuando la marcacion no es la del turno si no que hizo una
marcacion diferente es donde tengo los problemas como la marcacion del
ejemplo de 7 a 20.
Bueno espero que cualquiera de Ustede me pueda dar una ayudita para
ver este problema de una forma diferente.
Gracias de antemano por su pronta ayuda.
Jorge Eduardo.
Colombia
ent1=6
sal1=14
ent2=14
sal2=20
ent3=22
sal3=30
ent4=8
sal4=17
ent5=6
sal5=18
ent6=16
sal6=30
reg_ent=7 &&HORA DE ENTRADA DEL TRABAJADOR
reg_sal=20 &&HORA DE SALIDA DEL TRABAJADOR
horario=0 && VARIABLE PADA SELECCIONAR EL HORARIO APLICABLE
interseccion=0 && VARIABLE PARA CONTROLAR LAS HORAS DE INTERSECCION
** INICIA PROCESO
For i=1 To 6 && HAY 6 HORARIOS
xent='ENT'+Alltrim(Str(i))
xsal='SAL'+Alltrim(Str(i))
principia=Iif(reg_ent >= &xent, reg_ent, &xent)
termina=Iif(reg_sal >= &xsal, &xsal, reg_sal)
duracion=Termina-principia
If duracion>interseccion
interseccion=duracion
horario=i
Endif
Endfor
? horario
? interseccion
*************************************************************
"Jorge Eduardo" <blas...@gmail.com> escribió en el mensaje
news:60dae289-5de4-412a...@1g2000prd.googlegroups.com...
Saludos
David
"msnews.microsoft.com" <d_ala...@yahoo.com.mx> escribió en el mensaje
news:eitDlDuL...@TK2MSFTNGP04.phx.gbl...