domingo, 22 de febrero de 2015

Ejecución de reglas de enrutamiento para Casos por SDK

Desde CRM 2013, existe la posibilidad de crear reglas de enrutamiento de los casos.

Básicamente, la idea es que mediante una serie de condiciones, los casos puedan ser enrutados a determinadas colas o asignados a equipos o usuarios.

image

Solo puede haber una regla activa, que a su vez puede contener Elementos de regla como se ve a continuación:

image

image

Los elementos de regla, pueden asignar a colas o a equipos dependiendo de condiciones:

image

Ok, esto está muy bueno, pero el tema es que solamente se pueden utilizar desde:

  • Reglas de creación de emails a casos
  • Manualmente desde las vistas o formularios de Casos como se muestra a continuación:

image

Ok, hoy lo que hice fue buscar una manera de que esto se ejecute cuando uno quiera y para esto busqué el mensaje que hace esto que se llama ApplyRoutingRuleRequest (https://msdn.microsoft.com/en-us/library/microsoft.crm.sdk.messages.applyroutingrulerequest.aspx).

La utilización no puede ser mas sencilla:

ApplyRoutingRuleRequest routeRequest = new ApplyRoutingRuleRequest();
routeRequest.Target = new EntityReference(“incident”, new Guid(“{0000-00000-00000-0000}”));
ApplyRoutingRuleResponse routeResponse = (ApplyRoutingRuleResponse)service.Execute(routeRequest);

Mediante este mensaje, lo que hace es enrutar el caso que se le pase con su código, con la regla de enrutamiento activa.

La solución que desarrollé está incluída en un nuevo proyecto que creé en Codeplex, donde iré publicando nuevas herramientas: https://msdyncrmworkflowtools.codeplex.com/

Solamente hay un tema, y es que en algunas versiones de CRM, este método esta fallando y el enrutamiento no funciona. No devuelve error ni nada, pero lo ejecuta correctamente. En el Update Rollup 2 de CRM 2013 SP1 ya esta resuelta esta incidencia (http://support.microsoft.com/kb/2963850) allí dice dentro de lo que se resuelve:

  • Si ejecuta el mensaje de ApplyRoutingRuleRequest en el código se ejecuta sin error, pero no se aplica la regla.

Un saludo!

No hay comentarios:

Publicar un comentario