viernes, 4 de julio de 2014

Workflows síncronos y Outlook en modo offline

Hola a todos, hoy hablaremos de una de esas funcionalidades que han mejorado considerablemente con CRM 2013. Esta no es otra que la posibilidad de ejecutar Workflows (flujos de trabajo) en tiempo real.

El tema es que no todo en Dynamics CRM es online o síncrono, y el principal ejemplo de esto, es la posibilidad de trabajar con Dynamics CRM de forma desconectada (offline mode).

El otro día se me cruzó por la cabeza que ocurre cuando estoy en modo desconectado desde el Outlook, y lanzo un proceso de estos en tiempo real. Entonces me planteé probarlo y escribir este artículo para compartir mis resultados.

En primer lugar me he creado un Workflow sencillo, síncrono que en las creaciones de cuentas, ponga en el campo “Teléfono” el valoe 666666666 como se muestra a continuación:

SNAGHTML14806b27

Entonces nos vamos a offline desde el Outlook:

image

Vamos a crear una nueva Cuenta y vemos que el workflow síncrono no se ha ejecutado ya que el campo de Teléfono no se ha actualizado:

image

Nos volvemos a conectar con CRM:

image

Y vemos que el workflow se ha ejecutado:

image

COMENTARIOS: Los workflow síncronos, son una maravilla, permiten que nuestros desarrollos necesarios en plugins sean menores, pero a diferencia de los Plugins, solo funcionan en el server side, y en el cliente de Outlook no se disparan cuando esta en offline.

Si queremos comprobar si este workflow en tiempo real se ha disparado desde un sitio u otro, lo que se me ocurre sería en el formulario de la entidad, añadir un campo, donde guardar el resultado de context.client.getClientState() y si es “offline”, entonces evitar que se ejecute nuestro plugin.

No hay comentarios:

Publicar un comentario