Obtener y utilizar información del usuario actual

<< Click to Display Table of Contents >>

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

Obtener y utilizar información del usuario actual

Bizagi proporciona varias funciones que permiten encontrar y manipular la información del usuario que está asignado actualmente. Todo este grupo de funciones empiezan con la sentencia Me.WorkingCredential.

 

Estas funciones se encuentran en la categoría de Información del usuario actual.

 

WorkingCredential3

 

Los siguientes son los métodos disponibles para el usuario actual asignado:

 

Propiedades

Descripción

AreaName

Retorna el nombre del área del usuario actual.

FullName

Retorna el nombre completo del usuario.

IsInPosition

Retorna Verdadero si el usuario tiene una determinada posición, falso de lo contrario.

IsInRole

Retorna verdadero si el usuario tiene un role especifico, falso de lo contrario.

IsInSkill

Retorna Verdadero si el usuario tiene una habilidad especifica, falso de lo contrario.

UserId

Regresa el id del usuario.

UserProperties

Regresa el valor de una propiedad de usuario especificada.

 

Ejemplo

El siguiente ejemplo ilustra cómo utilizar las funciones anteriores:

 

Evaluar si el usuario asignado a la tarea actual tiene un rol específico

Suponga un banco que tiene como misión hacer que el proceso de crédito sea más eficiente: cuando la solicitud es creada por una persona que tiene el rol de Pagador, el proceso no necesita pasar por la actividad de Análisis de Crédito.

 

Para evitar la actividad, el atributo booleano RequiereEstudio debe ser creado. Si el valor del atributo es verdadero, el caso irá a la tarea Análisis de crédito, de lo contrarió, la tarea será pasada de largo.

 

WorkingCredential4

 

La siguiente regla evalúa si el usuario actual tiene el rol de pagador. Si la condición se cumple, el caso no necesita más estudio.

La regla se ejecuta Al Salir de la actividad del proceso de Solicitud de Crédito.

 

WorkingCredential2

 

 

WorkingCredential1

 

 

//Evalúa si el usuario actual tiene el role de Pagador.

 

if(Me.Case.WorkingCredential.IsInRole("Disburser")==true)

{

//Si la condición se cumple es atributo requiere estudio se define en falso y la actividad no se ejecuta.

 <CreditRequest.RequiresStudy>=false;

}

else

{

// Si la condición no se cumple, el atributo requiere estudio se define en verdadero e ingresa a la tarea de análisis de crédito.

 <CreditRequest.RequiresStudy>=true;

}

 

 

Obtener información del usuario que visualiza una Forma global o de resumen

En algunas ocasiones puede ser necesario identificar quién es el usuario que visualiza una Forma global o de resumen. Esto es especialmente útil en situaciones en que se debe mostrar u ocultar alguna información según propiedades específicas de un usuario (por ejemplo, un rol).

 

Para obtener esta información en formas globales o de resumen se puede utilizar el método de Credential con las mismas funciones del método Me.WorkingCredential.

 

Supongamos que en un proceso de gestión de oportunidades de venta, la información de Clientes y Partners sólo se muestra a los miembros del equipo de ventas en el momento que consultan el estado de un caso. El resto de la información se muestra a cualquier usuario.

 

Supongamos que los usuarios pertenecientes al equipo de ventas poseen un rol de Bizagi. Para mostrar u ocultar la información de los Clientes y Partners en la forma global del proceso, se puede utilizar una expresión de visibilidad.

 

Vaya a la Forma global y establezca una expresión como condición de visibilidad para la información del Cliente y el Partner.

 

WorkingCredential5

 

Cree una expresión de script y agregue un elemento de expresión.

Use la función Credential.IsInRole para evaluar si el usuario visualizando la forma posee el role requerido:

 

 

WorkingCredential6

 

//Si la persona visualizando la forma Global posee el rol de Miembro del equipo de ventas(id=100098)

if (Credential.IsInRole(10098)==true)

{

//Muestre la información

 true;

}

//De lo contrario

else{

//Oculte la información

  false;

}

 

Finalmente guarde la expresión.