Definir la duración de tareas y temporizadores

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Asistente de Procesos > Reglas de Negocio > Ejemplos de reglas de negocio >

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 o temporizador considerando el esquema horario de trabajo y zona horaria de un usuario

 

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.

 

Business Rules examples2

 

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.

 

Business Rules examples1

 

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.

 

Business Rules examples3

 

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.

 

Business Rules examples5

 

La siguiente imagen muestra el código de la expresión.

 

Business Rules examples4

 

 

//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.

 

Business Rules examples6

 

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.

 

Business Rules examples1

 

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.

 

Business Rules examples11

 

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.

 

Business Rules examples7

 

 

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.

 

 

Business Rules examples8

 

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.

 

Business Rules examples9

 

La siguiente imagen muestra el código de la expresión:

 

Business Rules examples10

 

 

//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.

 

 

Business Rules examples12

 

 

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.

 

Business Rules examples13

 

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.

 

Business Rules examples11

 

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.

 

 

Business Rules examples7

 

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.

 

Business Rules examples8

 

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.

 

Business Rules examples9

 

La siguiente imagen muestra el código de la expresión.

 

Business Rules examples10

//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;

 

 

note_pin

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.

 

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.

 

 

Business Rules examples14

 

 

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.

 

Business Rules examples15

 

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.

 

Business Rules examples17

 

3. Para definir la duración utilice la función Timer Event Duration.

 

Business Rules examples20

 

Obtenga el valor del vocabulario constante utilizando la función ResolveVocabulary de la categoría Misceláneo. como se muestra a continuación.

 

Business Rules examples19

 

La siguiente imagen muestra el código de la expresión.

 

Business Rules examples18

 

//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.

 

 

Business Rules examples21

 

2. Cree una expresión.

Primero obtenga el id del usuario del agente utilizando la función id del usuario actual

 

Business Rules examples23

 

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

 

Business Rules examples22

 

Business Rules examples26

 

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.

 

 

Business Rules examples24

 

 

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:

 

Business Rules examples25

 

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);