FoxPro/Visual FoxPro - Programa REloj checador..AYUDA!!!

 
Vista:

Programa REloj checador..AYUDA!!!

Publicado por Pedro Canizales (40 intervenciones) el 08/12/2006 19:36:01
hola que tal tengo un pequeño problema estoy elaborando un programa de reloj checador, ya hago la suma diaria, pero quiero hacer una suma total por semana que deberan de ser, segun la ley federal de trabajo, de 48 Hrs x semana, tengo pensado declarar variables publicas que para convertir el horario y despues sumarlos y volverlos a pasar al formato hh:mm:ss, es lo que se me ocurre hasta el momento, alguien tiene una idea mejor?
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:Programa REloj checador..AYUDA!!!

Publicado por Luighi (105 intervenciones) el 09/12/2006 06:01:36
****
Reloj checador de entradas y salidas de personal
Formulario de entrada de datos
Semana número: 01
Del: 02/01/2006 Al: 07/01/2006
Fecha de hoy: 04/01/2006
Empleado-HoraDeEntrad-HoraDeSalid-HorasTrabajad-HorasAcumEnEstaSem
Alberto........08:00:00...........16:00:00.........08:00:00.............24:00:00
Roberto......08:10:00...........16:20:00.........08:10:00.............24:30:00
Fiorella.......07:55:00...........16:00:00.........08:05:00.............24:10:00
****
ahora procedemos a calcular las horas trabajadas en esa semana
por cada item, por ejemplo para alberto
luego de calcular las horas trabajadas de ese dia,
ordenamos el archivo que contiene los detalles, osea donde estan los campos semana y horas trabajadas, ambos en formato caracter;
sea el nombre del campo: horas_trabajadas
filtramos la semana en cuestion y hacemos una suma en segundos del total tiempo trabajado hasta el momento en esa semana:
set key to txtSemana
nHorasAcumEnEstaSemEnSeg=0
scan
nHorasAcumEnEstaSemEnSeg=nHorasAcumEnEstaSemEnSeg+ ;
TransformarASegundos(horas_trabajadas)
endscan
txtHorasAcumuladasEnEstaSemana=hhmmss(nHorasAcumEnEstaSemEnSeg+ ;
TransformarASegundos(txtHorasTrabajadas))
****
TransformarASegundos() y hhmmss() son funciones que ya previamente hayas preparado.
txtHorasTrabajadas y txtHorasAcumuladasEnEstaSemana son obviamente campos del objeto grid que por cierto imagino que usas a menos que guardes los datos de alguna otra forma.
personalmente usaria dos archivos para guardar la informacion
en uno guardo los campos: semana, el rango de fechas que conforma esa semana, la fecha de hoy osea, fecha en que se registran los ingresos y salidas de los trabajadores y un campo donde se guarda el total horas trabajadas de los que trabajaron en esa fecha.
en el otro archivo guardaria los detalles y un campo clave como la semana para mantener una relacion, pueden quizas haber mas campos claves, eso depende de como estes trabajando los datos.
en este segundo archivo guardo los siguientes campos: la semana, la fecha en que se trabajo, el empleado, la hora de entrada, la hora de salida, las horas trabajadas y.............. agregaria un ultimo campo... las horas acumuladas en esa semana... en este ultimo campo iria guardando un acumulado diario pero por semana, de esa manera no tendria que estar sumando cada vez que presente el formulario, solo tomo el dato y lo muestro y si ingreso el nuevo dia y las nuevas horas trabajadas, lo actualizo, osea acumulo y luego lo guardo.
en fin existen mil y un casos de hacer las cosas.
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