<< Clic para mostrar Tabla de Contenidos >> Asignaciones usando expresiones |
Las Expresiones en las reglas de asignación suelen ser necesarias cuando se debe evaluar condiciones complejas y seleccionar usuarios que cumplan con las condiciones que se encuentran en dicha expresión.
Para usar expresiones en una asignación, se debe seleccionar la propiedad de User Id y la opción de Expresión.
La expresión creada debe devolver un arreglo de identificadores de los usuarios que cumplan con las condiciones necesarias. La asignación se evaluará sobre los ids de los usuarios retornados.
Ejemplo
En un proceso de contratación de personal un solicitante ingresa la información de un nuevo cargo, incluyendo descripción del trabajo, salario, etc.
Las siguientes actividades que incluyen la creación de requisitos y recoger documentos pueden ser realizados por cualquier usuario cuyo jefe es el solicitante del proceso.
Por lo tanto tenemos que utilizar una expresión que encuentre todos los usuarios que comparten el solicitante como jefe.
Supongamos que en la primera actividad se guarda el id del Solicitante en un atributo: <Onboarding.Requester>
1 . En la definición de ejecutantes, en el quinto paso del Asistente de Proceso, haga clic en la actividad a definir.
2 . Seleccione User Id como la propiedad de la asignación y seleccione Expresión como condición. Haga clic en Seleccionar Expresión.
3. Marque la opción Basado en el resultado de una expresión.
4. Seleccione la opción Nuevo.
5. Cree la siguiente expresión.
// Cree un arreglo
var Users = new ArrayList();
// Cree el filtro para el solicitante
var parameters = new FilterParameters();
parameters.AddParameter("@Requester", <Onboarding.Requester.Id>);
// Obtenga todos los usuarios cuyo jefe sea el solicitante
var SearchUsers = Me.getXPath("entity-list('WFUser', 'idBossUser=@Requester')",parameters);
// Cuente los usuarios que cumplen con la condición
var HowManyUsers = SearchUsers.size();
if(HowManyUsers > 0)
{
// Agregue cada usuario al arreglo
for (var i=0; i < HowManyUsers; i++)
{
var idUser = SearchUsers[i].getXPath("Id");
Users.Add(idUser);
}
}
Users;
6. Dé un nombre a la expresión.
Debe tener un aspecto como este.
Last Updated 1/26/2022 4:16:20 PM