i
Cálculo del Vencimiento de la Actividad
La fecha de vencimiento de una actividad se calcula de diferente forma, dependiendo si la duración máxima fue modelada a partir de una duración o seleccionando un campo del formulario relacionado con el proceso.
El detalle del cálculo se realiza para la fecha de vencimiento pero el mismo es válido también para la fecha promedio, dependiendo del modelado de la duración promedio de la actividad.
Vencimiento Basado en una Duración
Elementos que intervienen en el cálculo:
•Fecha y hora de inicio de la actividad.
•Duración máxima de la actividad.
•Calendario del participante que ejecuta la actividad.
•Configuración de feriados y fechas particulares.
Calendario del Participante que Ejecuta la Actividad
Cuando el participante es un usuario:
•Se considera el calendario establecido en el perfil del usuario.
•Si no está indicado, se considera el calendario establecido en la unidad organizacional del usuario.
•Si la unidad no indica un calendario, se asciende en la estructura, buscando si alguna unidad superior establece un calendario.
•Si ninguna unidad superior indica un calendario, se considera el calendario estándar.
Cuando la actividad es ejecutada en una unidad organizacional:
•Se considera el calendario establecido en la unidad organizacional.
•Si la unidad no indica un calendario, se asciende en la estructura organizacional, buscando si alguna unidad superior establece un calendario.
•Si ninguna unidad superior indica un calendario, se considera el calendario estándar.
Cuando la actividad queda asignada a un rol genérico:
•Se considera el calendario estándar.
•Cuando alguno de los actores del rol se asigna la actividad, se recalcula la fecha de vencimiento considerando el calendario del participante que ejecuta.
Pasos para el Cálculo del Vencimiento de la Actividad
Paso 1: Se calcula la duración máxima de la actividad, expresada en segundos.
Se considera la cantidad de días, horas, minutos y segundos, indicados en la definición de la actividad.
Se recupera la cantidad de horas y minutos de una jornada laboral, desde el calendario del participante ejecutor.
La duración máxima en segundos de la actividad se calcula como:
Duración Máxima en Segundos =
Actividad.Dias * (Calendario.Horas * 3600 + Calendarios.Minutos * 60) +
Actividad.Horas * 3600 +
Actividad.Minutos * 60 + Actividad.Segundos
Paso 2: Se definen lo períodos laborales del usuario, mediante el calendario del participante ejecutor, junto con la definición de feriados y fechas particulares generales.
Cada una de las franjas laborales, está perfectamente definida por el calendario, y tiene una fecha y hora de inicio y una fecha y hora de fin, por lo tanto, se puede convertir esta especificación a una cantidad de segundos laborales.
La definición de "Días Feriados" hace que ciertos períodos sean considerados como no laborables.
La definición de "Fecha Particular" permite establecer periodos laborales específicos para una determinada fecha.
La definición de fechas particulares que se realiza a nivel del calendario tiene precedencia sobre las fechas particulares generales.
Paso 3: Expresar la Fecha y Hora de Inicio de la actividad, en la zona horaria del calendario del participante ejecutor.
Se posiciona en esa fecha y van asignando períodos laborales hasta poder asignar todos los segundos que corresponden a la duración de la actividad.
De este modo, se llega a calcular el momento de vencimiento de la actividad, según los períodos laborales del usuario.
Vencimiento Basado en un Campo del Formulario
La fecha de vencimiento toma el valor de un campo del formulario.
Si el tipo de dato del campo es Fecha o Fecha Local, si el valor ingresado es DD/MM/AAAA el vencimiento es DD/MM/AAAA a las 23:59:59.999
Si el tipo de dato del campo es Fecha y Hora, el valor DD/MM/AAAA HH:MM:SS se considera como el vencimiento.
Si el tipo de campo es Fecha y Hora Local, el valor DD/MM/AAAA HH:MM:SS se transforma a la zona horaria del calendario estándar y es considerado como fecha de vencimiento.