viernes, 31 de octubre de 2014

XrmToolbox: Import/Export NN relationships

Las relaciones N-N son una funcionalidad bastante interesante en Dynamics CRM, que permiten de forma sencilla relacionar dos tipos de entidades sin la necesidad de la creación de una entidad intermedia.

Si bien en realidad con esta funcionalidad se crea una tabla de relación intermedia, esta tabla no puede ser modificada ni personalizada.

Esto último provoca que las relaciones N-N sean complicadas de mover de un entorno a otro, ya que no podemos hacerlo a través del asistente de importación de CRM desde XML/CSV.

La herramienta de Import/Export NN relationships, nos da la posibilidad de exportar los registros de relación N-N a un fichero en formato CSV y luego importarlo en otro entorno.

En el caso que enseño a continuación, he creado una relación N-N entre Cuenta y País (personalizada) para enseñar como funciona.

Lo primero que hay que hacer es cargar los metadatos y seleccionar la entidad:

clip_image002 

Luego le damos a Exportar los datos en un .csv:

clip_image004

Lo que nos genera es un fichero con el siguiente formato:

clip_image006

Y luego si queremos importar, seleccionamos el fichero csv y le damos a importar:

clip_image008

En la parte inferior, nos va dejando un log de cada uno de los registros importados.

Una aclaración importante con esta herramienta es que para que todo funcione, es necesario que los GUID (códigos internos automáticos de los registros en CRM) deben ser los mismos, ya que sino no nos funcionará.

 

http://xrmtoolbox.codeplex.com/

jueves, 30 de octubre de 2014

XrmToolbox: User Roles Manager

La gestión de roles de seguridad y la asignación de los mismos es una tarea fundamental en la fase de puesta en marcha de los proyectos.

Ya no solo por la seguridad a aplicar, ya que en muchas implementaciones se decide que “todos vean todo”, sino más por el tema de limitar la funcionalidad a lo que el usuario realmente necesita hacer.

La Asignación de los roles de seguridad se puede hacer al crear los usuarios o equipos, pero también se puede hacer después.

La user Roles Manager tool nos permite realizar acciones masivas a los usuarios y equipos en relación con sus roles de seguridad.

Al acceder a la herramienta cargamos primero los usuarios:

clip_image002

Luego del lado derecho podemos consultar los usuarios y equipos sobre los que quiero actual, aquí disponemos además de todas las vistas de sistema publicadas:

clip_image004

Seleccionamos los roles de seguridad y tenemos las siguientes acciones:

·         Añadir los roles seleccionados a los usuarios o equipos seleccionados

·         Quitar los roles seleccionados a los usuarios o equipos seleccionados

·         Quitar los roles actuales de los usuarios o equipos seleccionados y añadir los nuevos roles seleccionados (solo quedarían disponibles los seleccionados ahora)

 

clip_image006

Se aplican los cambios:

clip_image008

En entornos sencillos o con pocos usuarios, esto no tiene tantas ventajas, pero en entornos con muchos usuarios, cobra mucha importancia.

http://xrmtoolbox.codeplex.com/

miércoles, 29 de octubre de 2014

XrmToolbox: Solution Components Mover

El trabajo con Dynamics CRM a veces nos lleva a tener muchísimas soluciones que agrupan muchos componentes.

A veces nos vemos ante la necesidad de hacer copias de soluciones, o una solución más completa, estar seguro que incluye todos los elementos de otra solución anterior.

Para solventar estos escenarios, Tanguy incluyó en su XrmToolbox el Solution Components Mover.

Consiste en seleccionar una solución de origen y una solución de destino y después poder seleccionar que elementos queremos mover de una a otra.

Al entrar, cargamos las soluciones:

clip_image002

Seleccionamos origen, destino y le damos a Copy components:

clip_image004

Y luego podemos seleccionar que tipos de objetos queremos mover:

clip_image006

Finalmente se añaden los componentes y termina el proceso:

clip_image008

Como muchas de las soluciones incluidas en el XrmToolbox, no es una solución compleja, pero es una solución que automatiza ciertas tareas que normalmente deberían hacerse de forma manual, para evitar errores y agilizar el proceso.

http://xrmtoolbox.codeplex.com/

martes, 28 de octubre de 2014

XrmToolbox: Synchronous events execution order editor

Con el plugin registration tool que viene en la SDK, podemos registrar nuestros plugins (.dll) en Dynamics CRM.

Estos plugins pueden tener una serie de clases que son configuradas para ser llamados en determinados pasos (steps) de Dynamics CRM (por ejemplo Create, Update, etc.).

Cuando tenemos mas un método esperando ser disparado en un mismo mensaje y momento, debemos asignarle un “Execution order” que nos permite configurar que se ejecuta primero y que se ejecuta después.

El problema es que esto en el PluginRegistrationTool no se ve muy cómodo, ya que debemos ir a cada step a ver que valor tienen, y no podemos verlo en un listado. El tema es que esta herramienta nos agrupa por Dll y no por evento.

El “Synchronous events execution order editor” del XrmToolbox, nos permite verlo agrupado por mensajes, y así ver en un evento determinado que plugins se disparan y poder así determinar de mejor manera el orden de ejecución de  los mismos.

La funcionalidad consiste en cargar los eventos con plugins relacionados, seleccionar el evento y actualizar el orden:

clip_image002

Luego publicamos los cambios:

clip_image004

Y listo!

http://xrmtoolbox.codeplex.com/

lunes, 27 de octubre de 2014

XrmToolbox: View Transfer Tool

La vida de los proyectos de Dynamics CRM es dinámica y suelen surgir cambios sencillos que se implementan rápidamente. Uno de ellos es el de los cambios en las vistas.

A veces nos piden cambios en vistas, que no de por sí deberían requerir la importación de una entidad completa, ya que a lo mejor estamos en el desarrollo de algo en un formulario, que no queremos subir.

Para realizar movimientos de definiciones de vistas entre entornos, tenemos el View Transfer Tool.

Esta sencilla herramienta, nos permite seleccionar una entidad y unas vistas de la misma para ser movidas de un CRM de origen a un CRM de destino.

Primero cargamos las entidades:

clip_image002

Luego seleccionamos la entidad y las vistas:

clip_image004

Seleccionamos la conexión del CRM de destino:

clip_image006

Introducimos el password:

clip_image008

Confirmamos que esta ok:

clip_image010

Le damos a Transfer views:

clip_image012

Y Publicamos:

clip_image014

Esta solución esta muy bien, pero hay que tener en cuenta una cosa muy importante. Desde donde ejecuto el XrmToolbox, debo tener acceso a los entornos de origen y destino. Esto en la mayoría de los clientes no suele ser sencillo, incluso a veces imposible, pero vale la pena saber que existe esta solución para entornos de no producción.

http://xrmtoolbox.codeplex.com/

 

domingo, 26 de octubre de 2014

CRM 2015: Creación de campos Consolidados

Una de las nuevas funcionalidades que mas interés están levantando (y con razón) es la de la creación de campos consolidados o “Rollup”.

El objetivo de estos campos es evitarnos los típicos plugins que hasta ahora estábamos teniendo que desarrollar para hacer cálculos de registros “hijos” relacionados con un padre, para consolidarlo en un solo campo con un total.

De esta manera podremos en CRM 2015 crear un campo que nos muestre el total de oportunidades ganadas relacionadas con una Cuenta.

Primero creamos el campo de tipo divisa, con la opción de tipo de campo=”Consolidado”:

image

Si hacemos clic en “Editar” definimos que queremos calcular:

image

Luego añadimos los campos en el formulario y publicamos:

image

Al crear un campo de tipo consolidado se crean además dos campos mas de forma automática:

  • Un campo de estado
  • Un campo de fecha de última actualización

Ahora ya podremos acceder a ver este campo consolidado en el formulario de Cuentas. Lo que se debe tener en cuenta es que:

  • Este campo se actualiza de forma asíncrona
  • Para que sea síncrono, se podría hacer una llamada por SDK
  • También puede ser actualizado de forma manual en el formulario
  • El cambio de este campo no dispara Workflows o plugins relacionados

El resultado es el siguiente:

image

un saludo!!

viernes, 24 de octubre de 2014

XrmToolbox: Assembly Recovery Tool

¿Alguna vez necesitaron recoger una .dll de algún plugin o una actividad de workflow?

No importa el motivo, pero es algo que a veces ocurre. Necesitamos la .dll que se ha subido ya sea para decompilarla (ver como está hecha) o para subirla a otro entorno pero manualmente. Las dll al final están guardadas en campos de una tabla de SQL Server, pero descargarse estos valores puede ser complicado.

El ASsembly Recovery Tool nos permite descargarnos estas .dll almacenadas en el servidor, en una carpeta local.

Su funcionamiento es sencillo, primero cargamos los assemblies del servidor:

clip_image002

Seleccionamos las dll que queremos y hacemos click en Export to disk:

clip_image004

Listo, tenemos las dll en nuestro local:

clip_image006

J

http://xrmtoolbox.codeplex.com/