<< Clic para mostrar Tabla de Contenidos >> Conceder acceso a casos |
Expresión para agregar un jefe del usuario creador
En un proceso de Solicitud de Compras se desea restringir la información de forma que sólo puedan acceder a los casos creados el usuario creador y su jefe. De acuerdo a lo explicado anteriormente, los usuarios que sean asignados durante el proceso del caso tendrán acceso.
El usuario creador, por definición, automáticamente será adicionado a la lista de usuarios con privilegios. Sin embargo, el jefe del usuario debe ser agregado por medio de una regla para que también pueda tener acceso al caso desde la primera actividad. Para lograr lo anterior se debe configurar el proceso para que tenga seguridad de caso Privado, y luego agregar una expresión que incluya al jefe del creador como usuario privilegiado.
1. En la vista de Experto, ingrese a las propiedades del Proceso dando clic sobre su versión.
2. Seleccione la opción Privado (Private) en el menú de Seguridad del caso (Case security) para restringir el acceso de los casos y dé clic en OK.
3. En el paso número 4 (cuatro) del Asistente de Procesos, diríjase a Acciones de la Actividad para crear una expresión Al entrar en la actividad de registro. La regla debe agregar a la lista de usuarios privilegiados al jefe del usuario que crea la solicitud.
//Obtain the direct supervisor
Boss=Me.Case.WorkingCredential.UserProperties['idbossuser'];
//Grant Access to the supervisor
CHelper.GrantCaseAccess(Me.Case.Id,Boss);
Ahora probemos si la expresión funciona. Suponga que tenemos tres usuarios:
•Usuario Creador (CreatorUser): Será el usuario que crea el caso.
•Jefe (Boss): El supervisor del creador del caso.
•Usuario Restringido (RestrictedUser): El usuario al cual se debe restringir el acceso.
Ingrese con el usuario Creador del caso (CreatorUser) y cree un nuevo caso de Solicitud de Compras.
El Usuario creador se incluirá automáticamente como usuario privilegiado y por lo tanto podrá consultar el caso en cualquier momento. Ingrese el número de caso en el campo de búsqueda. Para este ejemplo será 1905.
Si da clic en el Número de Caso usted podrá ver su información.
De forma similar, el usuario jefe (Boss), a quien se concedieron permisos previamente como supervisor del Creador del caso, también tendrá acceso.
Si ingresamos con el usuario restringido (RestrictedUSer), no podremos acceder al caso. Cuando realicemos la búsqueda, aparecerá como si el caso no existiera.
Agregar un usuario privilegiado usando una expresión
En un proceso de Solicitud de Compras se desea restringir la información de forma que sólo puedan acceder a los casos creados los usuarios privilegiados (creador y asignados) y adicionalmente el Vicepresidente Comercial, quien no tiene asignaciones en dichos casos.
Por lo anterior, es necesario añadir al usuario vicepresidente a los usuarios privilegiados utilizando una expresión. Para ello, creamos una tabla paramétrica en donde guardaremos el Usuario Vicepresidente Comercial, de forma que podamos acceder fácilmente al identificador del usuario y que éste pueda ser administrado en caso de que cambie. Esta entidad paramétrica esta asociada con el Proceso de Solicitud de Compras.
En el paso número 4 del Asistente de procesos, diríjase a Acciones de la Actividad para crear una expresión al entrar en la actividad de registro.
La expresión agrega a la lista de usuarios privilegiados al Vicepresidente. Se encuentra el registro del Vicepresidente en la tabla paramétrica creada, y se guarda su ID en una variable. Luego, esta variable es registrada en la función que adiciona a los usuarios privilegiados.
//Obtain VicePresident User
var parameters = new FilterParameters();
parameters.AddParameter("@Code", "CVP");
ViceId=CHelper.getEntityAttrib("Userwithaccess","Usertograntaccess","Code = @Code",parameters);
//Grant access to VicePresident
CHelper.GrantCaseAccess(Me.Case.Id,ViceId);
Agregar múltiples usuarios privilegiados usando una expresión
En un proceso de Solicitud de Compras se desea restringir la información de forma que sólo puedan acceder a los casos creados los usuarios privilegiados (creador y asignados). Adicionalmente, el Vicepresidente Comercial y el Presidente quienes no tienen ninguna asignación en este caso, como usuarios privilegiados. Por lo tanto, es necesario añadirlos a los usuarios privilegiados utilizando una expresión. Para ello, se creará una tabla paramétrica en donde se almacenarán los dos usuarios: Vicepresidente Comercial y Presidente, de forma que sea posible acceder fácilmente a sus identificadores y puedan ser administrados en caso de que cambien.
En el paso número 4 del Asistente de procesos, vaya a Acciones de la Actividad para crear una expresión al entrar en la actividad de registro.
La siguiente expresión agrega a la lista de usuarios privilegiados al Vicepresidente y al Presidente. Se encuentran todos los registros de la tabla paramétrica y se guardan los identificadores en una variable. Luego, esta variable es registrada en la función que adiciona a los usuarios privilegiados.
//Obtain list of all users in the 'Users with access' table
UserstoAdd = Me.getXPath("entity-list('Userswithaccess', '')");
//Go through the list
for (Counter=0; UserstoAdd.size()>Counter;Counter++)
{
IdUser=UserstoAdd[Counter].getXPath("Usertograntaccess");
//Validate there are no duplicities
if(!MyArray.Contains(IdUser))
{
//Store users
MyArray.Add(IdUser);
}
//Grant Access to users
CHelper.GrantCaseAccessToUsers(Me.Case.Id,MyArray);
}
Last Updated 1/31/2023 4:19:45 PM