<< Clic para mostrar Tabla de Contenidos >> Obtener usuarios basados en componentes de la organización |
En una organización es una práctica común utilizar la clasificación de un empleado para realizar asignaciones o configurar permisos. Bizagi permite obtener una lista de usuarios clasificados por las categorías: Posición, Rol, Habilidades.
•Usuarios en una posición especifica.
Es posible obtener una lista de los usuarios que tienen cierta posición dentro de la organización utilizando la función getUsersForPosition.
La función retorna una lista con el identificador de los usuarios que tienen la posición indicada.
La sintaxis de la función es:
CHelper.getUsersForPosition(posName)
El parámetro es el nombre de la posición.
•Usuarios con un rol específico.
Es posible obtener una lista de los usuarios que tienen cierto rol dentro de la organización utilizando la función getUsersForRole.
La función retorna una lista con el identificador de los usuarios que tienen el rol indicado.
La sintaxis de la función es:
CHelper.getUsersForRole(roleName)
El parámetro es el nombre del rol.
•Usuarios con un rol específico.
Es posible obtener una lista de los usuarios que tienen cierta habilidad dentro de la organización utilizando la función getUsersForSkill.
La función retorna una lista con el identificador de los usuarios que tienen la habilidad indicada.
La sintaxis de la función es:
CHelper.getUsersForSkill(skillName)
El parámetro es el nombre de la habilidad.
Para obtener la posición, rol o habilidad deseada; navegue en la vista de experto al nodo de atributos de la tabla (orgposition, role o skill) que se encuentra en el nodo Sistema de la pestaña de entidades. Tenga en cuenta que la columna deseada se llama posName, roleName o skillName.
Para utilizar alguna de las funciones mencionadas, debe estar en el editor de expresiones, luego, en la opción Funciones seleccionar la categoría Usuarios (funciones generales).
Clic en la función deseada para incluirla dentro del código.
Ejemplos
Los siguientes ejemplos le mostrarán como utilizar estas funciones.
•Obtener usuarios con cierta posición
•Obtener usuarios con cierto rol
•Obtener usuarios con cierta habilidad
Ejemplo de como obtener usuarios con cierta posición
Imagine un proceso de Mesa de Ayuda, la persona de soporte recibe los casos, los cuales deben ser asignados a un técnico que este disponible. El caso hace referencia a una colección llamada Técnicos disponibles, la cual contiene los usuarios que tienen la posición Técnico de soporte.
Para llenar la colección es necesario obtener los técnicos calificados de la entidad WFUser, basándose en sus posiciones.
1. En el cuarto paso del asistente, seleccione Acciones de la Actividad.
Dé clic en la primera tarea del proceso y cree una expresión Al entrar.
2. Cree dos elementos de expresión un elemento FOR como se muestra a continuación.
En el primer elemento expresión, declare las variables y obtenga la lista de usuarios con la posición específica.
Utilice el módulo FOR para iterar sobre cada registro e la lista.
En el otro elemento expresión, incluya cada registro a la colección AvailableTechnitians.
3. En el módulo de la primera expresión declare las siguientes variables:
•UsersArray: Guarda la lista de usuarios que pertenecen a una posición específica.
•IterationIndex: Contador para el ciclo FOR.
•TempIdUser: Guarda temporalmente un registro específico de la lista de usuarios.
•newRow: Crea un nuevo registro en la relación donde se incluirá el usuario.
4. Obtenga una lista de usuarios con la posición deseada utilizando la función Get users in Position de la categoría Usuarios.
//Obtener la lista de usuarios con una posición específica y guardarla en una variable.
UsersArray=CHelper.getUsersForPosition("SupportTechnician");
Esta función retorna todos los usuarios con esa Posición, sin importar si se encuentran activos o no. Si desea obtener solamente los usuarios activos, le recomendamos usar esta función con el parámetro filterActive como true.
CHelper.getUsersForPosition(posName, filterActive) |
5. Itere la lista utilizando un elemento FOR. El ciclo comienza en Cero (0) y termina en el último índice de la lista.
La sentencia UsersArray.Count regresará el número total de usuarios encontrados (es decir, cuenta los elementos del arreglo).
El ciclo será ejecutado mientras que el índice de la colección sea menor que el número total de elementos del arreglo.
6. Incluya el siguiente código en el segundo elemento de expresión para obtener el identificador del usuario.
Luego, cree una nueva fila en la colección Available Technicians.
Agregar del id del técnico en la nueva línea.
//Obtener la identificación del usuario de la iteración actual del arreglo.
TempIdUser=UsersArray(IterationIndex);
//Agregar un nuevo registro a la colección AvailableTechnicians
newRow=Me.newCollectionItem("Ticket.AvailableTechnicians");
//Asigne a la columna Technician el userid obtenido previamente.
newRow.setXPath("Technician",TempIdUser");
La colección se mostrará en el Portal de Trabajo de la siguiente forma:
Ejemplo de como obtener usuarios con cierto rol
Imagine un proceso de Mesa de Ayuda, la persona de soporte recibe los casos, los cuales deben ser asignados a un técnico que este disponible. El caso hace referencia a una colección llamada Técnicos disponibles, la cual contiene los usuarios que tienen el rol Técnico IT.
Para llenar la colección es necesario obtener los técnicos calificados de la entidad WFUser, basándose en sus roles.
1. En el cuarto paso del asistente, seleccione Acciones de la Actividad.
Dé clic en la primera tarea del proceso y cree una expresión Al entrar.
2. Cree dos elementos de expresión un elemento FOR como se muestra a continuación.
En el primer elemento expresión, declare las variables y obtenga la lista de usuarios con el rol específico.
Utilice el módulo FOR para iterar sobre cada registro e la lista.
En el otro elemento expresión, incluya cada registro a la colección AvailableTechnitians.
3. En el módulo de la primera expresión declare las siguientes variables:
•UsersArray: Guarda la lista de usuarios que pertenecen al rol específico.
•IterationIndex: Contador para el ciclo FOR.
•TempIdUser: Guarda temporalmente un registro específico de la lista de usuarios.
•newRow: Crea un nuevo registro en la relación donde se incluirá el usuario.
4. Obtenga una lista de usuarios con el rol deseado utilizando la función Get users in Role de la categoría Usuarios.
//Obtener la lista de usuarios con un rol específico y guardarla en una variable
UsersArray=CHelper.getUsersForRole("ITTechnician");
Esta función retorna todos los usuarios con esa Rol, sin importar si se encuentran activos o no. Si desea obtener solamente los usuarios activos, le recomendamos usar esta función con el parámetro filterActive como true.
CHelper.getUsersForRole(posName, filterActive) |
5. Itere la lista utilizando un elemento FOR. El ciclo comienza en Cero (0) y termina en el último índice de la lista.
La sentencia UsersArray.Count regresará el número total de usuarios encontrados (es decir, cuenta los elementos del arreglo).
El ciclo será ejecutado mientras que el índice de la colección sea menor que el número total de elementos del arreglo.
6. Incluya el siguiente código en el segundo elemento de expresión para obtener el identificador del usuario.
Luego, cree una nueva fila en la colección Available Technicians.
Agregar del id del técnico en la nueva línea.
//Obtener la identificación del usuario de la iteración actual del arreglo.
TempIdUser=UsersArray(IterationIndex);
//Agregar un nuevo registro a la colección AvailableTechnicians
newRow=Me.newCollectionItem("Ticket.AvailableTechnicians");
//Asigne a la columna Technician el userid obtenido previamente.
newRow.setXPath("Technician",TempIdUser");
Clic en Ok para guardar.
La colección se mostrará en el Portal de Trabajo de la siguiente forma:
Ejemplo de como obtener usuarios con cierta habilidad
Imagine un proceso de Mesa de Ayuda, la persona de soporte recibe los casos, los cuales deben ser asignados a un técnico que este disponible. El caso hace referencia a una colección llamada Técnicos disponibles, la cual contiene los usuarios que tienen la habilidad IT y conocimiento de redes.
Para llenar la colección es necesario obtener los técnicos calificados de la entidad WFUser, basándose en sus habilidades.
1. En el cuarto paso del asistente, seleccione Acciones de la Actividad.
Dé clic en la primera tarea del proceso y cree una expresión Al entrar.
2. Cree dos elementos de expresión un elemento FOR como se muestra a continuación.
En el primer elemento expresión, declare las variables y obtenga la lista de usuarios con la habilidad específica.
Utilice el módulo FOR para iterar sobre cada registro e la lista.
En el otro elemento expresión, incluya cada registro a la colección AvailableTechnitians.
3. En el módulo de la primera expresión declare las siguientes variables:
•UsersArray: Guarda la lista de usuarios que pertenecen a la habilidad específica.
•IterationIndex: Contador para el ciclo FOR.
•TempIdUser: Guarda temporalmente un registro específico de la lista de usuarios.
•newRow: Crea un nuevo registro en la relación donde se incluirá el usuario.
4. Obtenga una lista de usuarios con la posición deseada utilizando la función Get users in Skill de la categoría Usuarios.
V//Obtener la lista de usuarios con un rol específico y guardarla en una variable
UsersArray=CHelper.getUsersForSkill("ITandNetworksKnowledge");
Esta función retorna todos los usuarios con esa Rol, sin importar si se encuentran activos o no. Si desea obtener solamente los usuarios activos, le recomendamos usar esta función con el parámetro filterActive como true.
CHelper.getUsersForSkill(posName, filterActive) |
5. Itere la lista utilizando un elemento FOR. El ciclo comienza en Cero (0) y termina en el último índice de la lista.
La sentencia UsersArray.Count regresará el número total de usuarios encontrados (es decir, cuenta los elementos del arreglo).
El ciclo será ejecutado mientras que el índice de la colección sea menor que el número total de elementos del arreglo.
6. Incluya el siguiente código en el segundo elemento de expresión para obtener el identificador del usuario.
Luego, cree una nueva fila en la colección Available Technicians.
Agregar del id del técnico en la nueva línea.
//Obtener la identificación del usuario de la iteración actual del arreglo.
TempIdUser=UsersArray(IterationIndex);
//Agregar un nuevo registro a la colección AvailableTechnicians
newRow=Me.newCollectionItem("Ticket.AvailableTechnicians");
//Asigne a la columna Technician el userid obtenido previamente.
newRow.setXPath("Technician",TempIdUser");
La colección se mostrará en el Portal de Trabajo de la siguiente forma:
Last Updated 1/26/2023 10:59:14 AM