<< Clic para mostrar Tabla de Contenidos >> Definir la duración de tareas y temporizadores |
La duración de las tareas se utiliza para calcular los indicadores de eficiencia y para definir el estado de las actividades pendientes en el Portal de Trabajo.
La duración puede se estática, definida en las propiedades del proceso en el Modelador, o puede ser dinámica, evaluada por una expresión en la tarea.
IMPORTANTE:
•La duración dinámica se debe definir en minutos o en una fecha específica.
•La duración DEBE ser configurada en las acciones Al Entrar para que pueda ser considerada. Si la duración no se configura Al Entrar, Bizagi tomará el valor definido en las propiedades de la actividad.
•Definir la duración de una tarea - con un tiempo
•Definir la duración de una tarea - con una fecha determinada
•Definir la duración de un temporizador
•Definir la duración de un temporizador adjunto a una actividad
Definir la duración de una tarea – Con un tiempo
Suponga que su compañía tiene un Proceso de Solicitud de viajes donde el Departamento Administrativo registra las reservas del viaje a su nombre. Es posible solicitar un vuelo nacional o internacional, dependiendo del destino el administrador tendrá dos o tres días para reservar el vuelo y el hotel.
Ya que la duración de la tarea no es fija, necesitamos una expresión para definir este tiempo.
Los destinos Nacionales e Internacionales son guardados en una entidad paramétrica, cada registro tiene un código; "1" para nacional y "2" para internacional.
1. En el cuarto paso del Asistente (Reglas de Negocio), seleccione la opción Acciones de la actividad.
Dé clic en la tarea en la cual, la duración será calculada y agregue una expresión Al Entrar.
2. Cree una expresión para asignar la duración.
Le recomendamos utilizar un vocabulario para guardar el tiempo de las tareas como constantes, de esta forma, si se necesita modificar el valor se puede realizar fácilmente en el Portal de Trabajo.
Para utilizar un vocabulario, este debe ser creado con anticipación (antes de crear la expresión).
Vamos a utilizar dos vocabularios. De ser necesario, estos pueden ser modificados en cualquier momento por los usuarios finales en el Portal de Trabajo.
3. Determine si la solicitud es nacional o internacional
Asigne la duración del elemento utilizando el vocabulario. Utilice la función Task Duration de la categoría Fechas y Tiempos.
La siguiente imagen muestra el código de la expresión.
//Identificar si el destino es nacional
if (<TravelRequest.Destination.Code> == '1')
{
//Asignar la duración para viajes nacionales
Me.Duration = CHelper.resolveVocabulary("NationalBookingDuration");
}
else
{
//Si no es nacional, se asigna la duración de viajes internacionales
Me.Duration = CHelper.resolveVocabulary("InternationalBookingDurati");
}
Definir la duración de una tarea – Con una fecha determinada
Suponga que su compañía tiene un Proceso de Solicitud de viajes donde el Departamento Administrativo registra las reservas del viaje a su nombre basado en el tipo de localidad de la solicitud (Viaje nacional o internacional), el administrador va a tener hasta un día antes de la partida (Fecha de Salida) para reservar el vuelo y el hotel.
1. En el cuarto paso del Asistente (Reglas de Negocio), seleccione la opción Acciones de la actividad.
Dé clic en la tarea en la que se calculará la duración y cree una expresión Al Entrar.
2. Declare las variables necesarias:
En el ejemplo necesitamos dos variables de tipo date time.
•LeavingDate: Guarda el atributo Fecha de salida.
•FixedDate: Guarda la fecha límite derivada, se utilizará para definir la duración de la tarea.
3. Cree una expresión para asignar la duración.
Lo primero que debemos hacer es guardar la Fecha de Salida navegando a través del Modelo de Datos. El valor se guardará en la variable que hemos declarado anteriormente.
La duración de la tarea será definida cómo un día antes deLeavingDate .
Para calcular la fecha, se debe restar un día a la fecha en la variable LeavingDate.
El resultado debe ser asignado en la variable FixedDate.
4. Para definir la duración de la tarea vamos a utilizar la función Case estimated solution date la cual se encuentra en la categoría Fechas y Tiempos, como se muestra a continuación.
La siguiente imagen muestra el código de la expresión:
//Guardar el valor del atributo en la variable de tipo date time.
LeavingDate=<TravelRequest.LeavingDate>;
//Calcular la fecha límite y guardarla en la variable de tipo date time.
FixedDate=LeavingDate.AddDays(-1);
//Asignar la duración de acurdo al cálculo anterior.
Me.EstimatedSolutionDate=FixedDate;
Definir la duración de un temporizador
En el Proceso de solicitud de viajes, suponga que una vez el tiempo destinado para realizar la reserva del vuelo ha expirado (un día antes del viaje), el jefe del encargado de hacer la reserva debe buscar ofertas de vuelos a última hora.
Es posible utilizar una compuerta basada en Eventos para evaluar si la tarea Reservar se realizó antes de la fecha límite. Si la fecha límite se alcanza antes, la tarea Reservar será deshabilitada y la tarea Realizar tareas de última hora será habilitada para el jefe.
Es recomendable evitar el modelamiento de actividades automaticas síncronas despues de un temporizador. Vea Mejores prácticas de modelamiento con temporizadores |
Para configurar la duración del temporizador siga los siguientes pasos:
1. En el cuarto paso del Asistente (Reglas de Negocio), seleccione la opción Acciones de la actividad.
Dé clic en el evento temporizador donde se va a calcular la duración y cree una expresión Al Entrar.
2. Declare las variables necesarias:
•LeavingDate: Guarda el atributo Fecha de salida.
•FixedDate: Guarda la fecha límite derivada, se utilizará para definir la duración del temporizador.
3. Cree una expresión para asignar la duración.
Lo primero que debemos hacer es guardar la fecha de salida desde el atributo Fecha de Salida en el Modelo de Datos. El valor se guardará en la variable que hemos declarado anteriormente.
La duración del temporizador será asignada como un día antes de LeavingDate.
Para obtener esta fecha, restamos un día de la fecha guardada en la variable LeavingDate.
Luego se debe guardar el resultado en la variable FixedDate.
4. Para definir la duración del temporizador, vamos a utilizar la función Case estimated solution date la cual se encuentra en la categoría Fechas y Tiempos.
La siguiente imagen muestra el código de la expresión.
//Guardar el valor del atributo en la variable de tipo date time.
LeavingDate=<TravelRequest.LeavingDate>;
//Calcular la fecha límite y guardarla en la variable de tipo date time.
FixedDate=LeavingDate.AddDays(-1);
//Asignar la duración de acurdo al cálculo anterior.
Me.EstimatedSolutionDate=FixedDate;
La duración de los temporizadores se definen de la misma forma que la duración de las tareas. En ambos casos se utiliza la expresión Me.Duration (x minutos) o Me.EstimatedSolutionDate (fecha determinada) dependiendo de las condiciones del negocio. |
Definir la duración de temporizadores adjuntos a una actividad
En el Proceso de Solicitud de viajes, suponga que el administrador debe reservar un hotel y un vuelo durante los siguientes tres días de realizar la solicitud. Si la fecha límite se alcanza, y las reservas no se han hecho, el jefe debe realizar algunas tareas de último minuto.
Esta situación puede ser modelada utilizando un evento temporizador adjunto a la tarea reservar. Vea la mejor práctica de modelamiento cuando usa eventos adjuntos.
Eventos adjuntos a los límites de una actividad son utilizados para activar flujos de excepción de acuerdo a condiciones del negocio. Cuando se utiliza un evento adjunto a la actividad, el flujo de excepción se habilita cuando el tiempo o fecha definida se alcanza.
En el ejemplo, si las reservas no se realizan antes de tres días, el flujo de excepción se activa, y la tarea Realizar tareas de último minuto es habilitada para el jefe. Es necesario definir la duración del temporizador para modelar esta situación de negocio.
Para configurar la duración del temporizador siga los siguientes pasos:
1. En el cuarto paso del Asistente seleccione la opción Acciones de la actividad.
Dé clic en el evento temporizador en el cual se calculará la duración y cree una expresión Al Entrar.
2. Cree una expresión para asignar la duración.
Le recomendamos utilizar un vocabulario para guardar el tiempo de las tareas como constantes, de esta forma, si se necesita modificar el valor se puede realizar fácilmente en el Portal de Trabajo.
Para utilizar un vocabulario, este debe ser creado con anticipación (antes de crear la expresión).
Una constante ha sido definida anteriormente para este caso (BookingDuration). Esta constante puede ser modificada en el Portal de Trabajo en cualquier momento.
3. Para definir la duración utilice la función Timer Event Duration.
Obtenga el valor del vocabulario constante utilizando la función ResolveVocabulary de la categoría Misceláneo. como se muestra a continuación.
La siguiente imagen muestra el código de la expresión.
//Definir la duración con base a la definición de la constante
Me.TimerEventDuration = CHelper.resolveVocabulary(Me,"BookingDuration");
Definir la duración de una tarea o temporizador considerando el esquema horario de trabajo y zona horaria de un usuario
Agility Corp gestiona las quejas y reclamos de sus clientes a través de Bizagi. La compañía ha establecido que un agente de servicio al cliente puede emplear un máximo de cuatro horas para dar respuesta a una queja o reclamo. Como los agentes trabajan en diferentes turnos y en diferentes lugares, la fecha de vencimiento de la tarea asociada a la respuesta del caso, se define considerando el esquema horario de trabajo de la compañía y la zona de trabajo del agente.
Bizagi utiliza un método denominado Me.EstimatedSolutionDate, que asigna la fecha de vencimiento de una actividad. Lo utilizaremos junto con otro método para considerar la zona horaria del usuario.
1. En el cuarto paso del Asistente de Procesos (Reglas de negocio), seleccione Acciones de Actividad.
Haga clic en la tarea a la cual se asignará la duración y cree una expresión a la entrada.
2. Cree una expresión.
Primero obtenga el id del usuario del agente utilizando la función id del usuario actual
3. Para definir la duración de la tarea, utilice la función Fecha estimada de solución del caso, en la categoría Fecha & Hora
4. Utilice la función Calcular una fecha considerando el esquema de horario de trabajo y zona horaria del usuario para obtener la fecha de vencimiento de la tarea.
La sintaxis de esta función es:
CHelper.getEstimatedDateFromUserDateTime(UserId,iDuration)
Incluya los parámetros de la función. El primero es el id del agente que se obtuvo previamente. El segundo, el tiempo que el agente tiene para completar la tarea.
El código de la expresión es el siguiente:
Observe que la expresión anterior convierte las horas en minutos.
La conversión es requerida debido a que el parámetro iDuration espera la duración en minutos. El total de minutos en 4 horas se calcula usando la formula: 60 minutos en una hora multiplicado por 4 horas (i.e. 60*4)
//Obtenga el id del agente
UserId=Me.Case.WorkingCredetial.UserId;
//Asigne la duración a la tarea
Me.EstimatedSolutionDate = CHelper.getEstimatedDateFromUserDateTime(UserId, 60*4);
Last Updated 1/26/2022 4:13:15 PM