<< Clic para mostrar Tabla de Contenidos >> Borrar el acceso al caso |
Las siguientes expresiones eliminan a todos los usuarios con acceso al caso, incluido el usuario creador. Se recomienda otorgar acceso a un usuario después de usar este método. De lo contrario, el caso será inaccesible. |
Expresión para borrar el acceso a un caso
En un proceso de solicitud de compra del ejemplo mencionado en Conceder acceso a casos. Debido a razones de seguridad, cuando el proceso llega al Subproceso de Orden de Compra, necesitamos revocar el acceso a este caso a todos los usuarios y otorgar acceso solo a los usuarios del área de Compras, los usuarios en esta área pueden no tener asignación en tales casos. Por lo tanto, debe borrar el acceso al caso y otorgar acceso a estos usuarios mediante una expresión.
En el paso cuatro del Asistente de Procesos, seleccione las Acciones de Actividad para crear una expresión Al Entrar en el subproceso.
La expresión revoca el acceso al caso a todos los usuarios, incluido el creador del caso. Luego, trae los usuarios en el área de Compras para otorgarles acceso.
//Clear the access to the current case
var success=CHelper.ClearCaseAccess(Me.Case.Id);
//If the procedure is success, add the Users in Purchase areas. Otherwise, throws an error
if(success)
{
//Get the id of the Purchases area
var parameters = new FilterParameters();
parameters.AddParameter("@areaName", "Purchases");
var AreaId=CHelper.getEntityAttrib("Area","idArea","areaName = @areaName",parameters);
//Get the list of users in the Purchase Area
parameters.AddParameter("@areaId", AreaId);
UserList = Me.getXPath("entity-list('WFUSER','idArea = @areaId')",parameters);
for (Counter=0; UserList.size()>Counter;Counter++)
{
//Get the user id
IdUser=UserList[Counter].getXPath("Id");
//Validate there are no duplicities
if(!MyArray.Contains(IdUser))
{
//Store users
MyArray.Add(IdUser);
}
}
//Grant access to the users list
CHelper.GrantCaseAccessToUsers(Me.Case.Id,MyArray);
}
else
{
// Throw an error if the case access could not be cleared
CHelper.ThrowValidationError("The procedure failed");
}
Expresión para borrar el acceso a una lista de casos
Como complemento del ejemplo anterior, también debemos revocar el acceso a los casos secundarios del caso actual. Debe borrar el acceso al caso y sus elementos secundarios y otorgar acceso a estos usuarios mediante una expresión.
En el paso cuatro del Asistente de Procesos, seleccione las Acciones de Actividad para crear una expresión Al Entrar en el subproceso.
La expresión revoca el acceso al caso a todos los usuarios, incluido el creador del caso. Luego, trae los usuarios en el área de Compras para otorgarles acceso.
//Get subprocesses Ids
var CasesArray=CHelper.getSubProcessesId(Me);
//Add the current case Id.
CasesArray.Add(Me.Case.Id);
//Clear the access to the current case
CHelper.ClearCaseAccess(CasesArray);
//Get the id of the Purchases area
var parameters = new FilterParameters();
parameters.AddParameter("@areaName", "Purchases");
var AreaId=CHelper.getEntityAttrib("Area","idArea","areaName = @areaName",parameters);
//Get the list of users in the Purchase Area
parameters.AddParameter("@areaId", AreaId);
UserList = Me.getXPath("entity-list('WFUSER','idArea = @areaId')",parameters);
for (Counter=0; UserList.size()>Counter;Counter++)
{
//Get the user id
IdUser=UserList[Counter].getXPath("Id");
//Validate there are no duplicities
if(!MyArray.Contains(IdUser))
{
//Store users
MyArray.Add(IdUser);
}
}
//Grant access to the users list
CHelper.GrantCaseAccessToUsers(Me.Case.Id,MyArray);
Last Updated 1/27/2022 4:05:36 PM