Fecha

Creo que esta pregunta si esta difícil... Estoy haciendo un sistema en fox es de vacaciones, cuando el trabajador cumple 1 año más de trabajo desde que fue contratado tiene derecho a vacaciones. El sistema debe indicar al usuario cuando debe tomar sus vacaciones el trabajador y que día regresa. Ejemplo
El trabajador fue contratado el 28 de febrero de 2004. Ahora que ya hace un año de que fue contratado sus vacaciones comienzan el 28 de febrero de 2005. O sea el 28 ya no trabaja.
El tiene derecho a 7 días. Por lo que se presenta de nuevo a trabajar el martes 8 de marzo. ¿Te das cuenta? He ahí mi problema, como puedo hacer este calculo descartanto los días domingo, porque son de por si de descanso y no cuenta como vacaciones. Esta ligada a la pregunta anterior que te hice, pero no puedo sumar así porque si 12 días a una fecha inicial porque tomaría en cuenta el domingo. Espero haberme dado a entender y me puedas resolver esta duda ¡GRACIAS!

1 Respuesta

Respuesta
1
* Para calcular el año:
El problema que me planteas, lo resolveria de la sigueinte forma:
***********************************
* CALCULO DE VACACIONES
***********************************
dFechaIngreso = DATE(2004,2,19)
dFechaInicioVac = GOMONTH(dFechaIngreso,12) &&Agregarle 12 meses al ingreso, para que sea 1 año.
if DOW(dFechaInicioVac) = 1
dFechaInicioVac = dFechaInicioVac + 1
ENDIF
dFechaFinVac = dFechaInicioVac
nDiasVacaciones = 7
I = 1
DO WHILE I < nDiasVacaciones
dFechaFinVac = dFechaFinVac + 1
IF DOW(dFechaFinVac) # 1
I = I + 1
ENDIF
ENDDO
dFechaRegreso = dFechaFinVac + (IIF(dow(dFechaFinVac+1)=1,2,1))
? 'Las vacaciones serán del '+TRANS(dFechaInicioVac)+;
' al ' + TRANS(dFechaFinVac) + ', regresa el '+TRANS(dFechaRegreso)
**************************************
**************************************
Faltaría considerar los otros posibles "días fectivos", como por ejemplo Navidad, año nuevo, etc... que bien podría ir en una tabla e irlo comparando en la sección del WHILE... pero te lo dejo de tarea!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas