Loading

Ejecutar una regla de asignación de casos desde Apex

Fecha de publicación: Jul 2, 2020
Descripción
Cómo ejecutar una regla de asignación de casos desde un desencadenador
Solución

Las reglas de asignación de casos le permiten enrutar casos de forma automática a las colas o los usuarios apropiados. Una regla de asignación de casos consiste en varias entradas de reglas que definen las condiciones y el orden para la asignación de casos. Puede crear varias reglas (por ejemplo, una regla estándar y una regla de festividades), aunque solo podrá haber una regla "activa" en cada momento.

 

Desde una interfaz de usuario estándar, un usuario puede activar reglas de asignación simplemente marcando la casilla de verificación "Asignar mediante las reglas de asignación activas" en la sección Opcional. El problema se plantea cuando su aplicación requiere insertar el caso desde Apex y quiere desencadenar reglas de asignación. Usando este script se insertará un caso, pero las reglas de asignación no se desencadenarán porque en el caso no hay un campo "Asignar mediante las reglas de asignación activas".

//Instance of case Case newCase = new Case(Status = 'New') ; //Inserting a Case insert newCase ;
 

Reglas de asignación de casos desde Apex

Una solución es usar Database.DMLOptions. La clase Database.DMLOptions puede facilitar información adicional durante una transacción como, por ejemplo, especificar el truncado de los campos o información de la regla de asignación. Por ejemplo, la secuencia de comandos que aparece abajo obtiene las reglas de asignación de casos y, a continuación, crea las DMLOptions para la casilla de verificación "Asignar mediante las reglas de asignación activas".

//Fetching the assignment rules on case AssignmentRule AR = new AssignmentRule(); AR = [select id from AssignmentRule where SobjectType = 'Case' and Active = true limit 1]; //Creating the DMLOptions for "Assign using active assignment rules" checkbox Database.DMLOptions dmlOpts = new Database.DMLOptions(); dmlOpts.assignmentRuleHeader.assignmentRuleId= AR.id; Case newCase = new Case(Status = 'New') ; //Setting the DMLOption on Case instance newCase.setOptions(dmlOpts); insert newCase ;
 

Cuando el caso se inserta mediante esta secuencia de comandos, se desencadenan las reglas de asignación.
 

Número del artículo de conocimiento

000387623

 
Cargando
Salesforce Help | Article