Pàgines

viernes, 8 de diciembre de 2017

Herramienta para formatear FetchXML (FetchXML Formatter Tool)

Siempre nos pasa lo mismo, encontramos una información que en un momento nos parece relevante y al cabo del tiempo la intentamos encontrarla, sin éxito. La hemos perdido entre toda la información que ha ido pasando por nuestras manos.

En este caso, hace aproximadamente un año, encontré una herramienta para ayudar a convertir el formato de FetchXML para utilizarlo como fragmento de código, FetchXML Formatter Tool.

Para ese uso se necesitan cambiar las comillas y otros caracteres que son incompatibles con el código, ya sea JavaScript o C#.

Esta es una sencilla herramienta independiente que copiando el texto del FetchXML te devuelve el texto formateado para el uso que se quiera dar (JavaScript o C#).


La herramienta se puede encontrar en la web de su autor.

FetchXML Formatter Tool en Arun Potti's MS CRM Blog

Quizás en XRMToolBox existe alguna herramienta parecida (aunque no exacta), pero al ser un pequeño ejecutable independiente puede ser más útil que tener que abrir toda la navaja suiza de soluciones.

Además, hoy he podido ver que han creado una versión en formato web, donde nos proporciona el código para C# y JavaScript en la misma página. La versión colgada en GitHub también ofrece la versión de JavaScript optimizada para JSLint.

FetchXML Formatter Tool online en Codepen
FetchXML Formatter Tool online en GitHub

jueves, 7 de diciembre de 2017

Scriptlets (USD)

Que ganas tenía de escribir sobre Unified Service Desk (USD) y hoy por fin puedo comentaros un tema que he estado buscando y que no acaba de estar correcto en diversos sitios (entre ellos Microsoft) o no se entendía bien en diferentes webs.

Desde que conocí USD me tiene enamorado. Se trata de un escritorio unificado sobre el que realizar aplicaciones conjuntas con CRM y otras aplicaciones externas. Además es muy flexible y permite crear nuevos componentes o eventos.

El problema que he encontrado es a la hora de realizar la llamada a un Scriptlet.
Un Scriptlet es un fragmento de código (habitualmente JavaScript) que se puede invocar y te devuelve un resultado que puedes utilizar mediante la sustitución de parámetros en una llamada a la acción en USD, por ejemplo.

En primer lugar, debemos ir dentro de CRM a Configuración -> Unified Service Desk y aquí buscar el elemento Scriptlets.


Aquí podremos crear un nuevo Scriptlet.


Rellenamos el campo Nombre que tendrá el Scriptlet (muy importante después recordarlo) y en el campo Texto del script colocaremos nuestro script de JavaScript.

Comenzaremos el script como si de una función de JavaScript se tratara y finalizaremos la función con la cláusula return. Dentro podemos utilizar los parámetros de sustitución de USD, lo que nos da una gran ventaja para tener los datos del contexto y poder tratarlos.
Después cerraremos el bloque de la función y realizaremos una llamada a la función escrita.

Os lo presento con un ejemplo:


En este caso quiero utilizar tres parámetros que me llegan por CTI en un solo parámetro para utilizarlo en una búsqueda.

En mi caso el parámetro que quiero devolver será la variable paramtosearch y en la última línea de la función realizo el return de la variable.
Posteriormente realizo una llamada a la función con la línea SCM_CTIParamMultisearch();.
Esto ejecutará la función y el Scriptlet me guardará el resultado como parámetro de sustitución de USD.

Para poder utilizar ese parámetro de sustitución en una llamada a la acción, en una comparación o en cualquier lugar donde pueda usar variables de sustitución de USD, debo utilizar el nombre que le dimos al Scriptlet (no el de la función).
En mi ejemplo será el siguiente:

[[$Scriptlet.SCM CTI CallType parameter for multisearch]]

Y si voy al debugger, puedo ver que se ha creado un nuevo parámetro llamado $Scriptlet que como clave el nombre del Scriptlet (SCM CTI CallType parameter for multisearch) y como valor el resultado de la función ejecutada.

¡Así de fácil y así de difícil!

Solo un apunte más. En el nombre del Scriptlet se pueden incluir espacios. USD lo reconoce sin problemas.




domingo, 4 de junio de 2017

CRM Saturday - Madrid

Ayer se celebró en Madrid el CRM Saturday (http://www.crmsaturday.com). Se trata de un evento organizado por Microsoft Dynamics Community MVP's para profesionales, consultores y desarrolladores de CRM y tiene como objetivo enseñar y compartir técnicas y habilidades, así como dar a conocer el Manifiesto de CRM para ayudar en los retos de las implementaciones de forma que estas sean exitosas.

La agenda llegaba cargada de buenos temas y grandes presentadores. En mi caso, tenía ganas de conocer a Neil Parkhurst, exponente para todos aquellos técnicos que traten Unified Service Desk, aunque ha tocado con maestría otros temas que también son muy interesantes de seguir.



Fue un gran día y debo confesar que mis expectativas se cumplieron con creces, pues no solamente pude ver las novedades en las que estaba interesado en acción y conocer el "making of" de todas ellas, sino que también me dieron a conocer nuevos elementos que estoy seguro que entrarán en breve en mi portfolio.

Por supuesto que fue para mí un gran lujo poder saludar a Neil y agradecerle todo su trabajo del cual me he nutrido en este tiempo, pero no quedó ahí la cosa, sino que conocí a Marco Amoedo y Mario Trueba en sus presentaciones, las cuales fueron un verdadero lujo, y pude conocer y charlar con Jordi Montaña o Demian Rasko, entre otros, además de charlas con los asistentes.

Me encanta la idea de la organización de los CRM Saturday de forma itinerante para facilitar la oportunidad de asistir a personas de los diferentes países. Espero que llegue la siguiente oportunidad para poder pasar un día completo sumergido en CRM, y quien sabe, quizás algún día esté arriba en el estrado presentando alguna novedad.


Seguimiento de actividades mediante publicaciones automáticas

Muchas veces encontramos en las escalas de tiempo (o timeline) de los diferentes registros un montón de publicaciones automáticas que o no n...