martes, 26 de mayo de 2015

Utilizando el Javascript en los Subgrids

El Update 1 de Dynamics CRM 2015 disponible solamente para online, tiene muchas mejoras en la SDK. Este tipo de mejoras son muy agradecidas por nosotros los desarrolladores, que nos aportan nueva y potentes funcionalidades que ofrecer a nuestros clientes.

Una de las mejoras que considero muy importantes, que no han sido muy publicadas, son las de las mejoras en código Javascript con el trabajo con los Subgrids.

Los Subgrids, son vistas que se pueden añadir en los formularios de CRM, por ejemplo para ver las actividades, contactos, o cualquier entidad relacionada de un registro.

Básicamente la idea es poder acceder a los Subgrids por código, y trabajar con el mismo, además de poder añadir código en el evento “OnLoad” de los Subgris (que se cargan de forma asíncrona).

El modelo de objetos de Javascript es el siguiente:


Aquí os dejo un pequeño (muy pequeño) código Javascript en donde he probado algunas de estas nuevas funcionalidades;
   1:  var onLoadSubGrid = function () { 
   2:      alert("Load subGrid");
   3:  };
   4:   
   5:  function onLoadForm()
   6:  {
   7:      var contactsSubgrid = Xrm.Page.getControl("Contacts");
   8:      contactsSubgrid.addOnLoad(onLoadSubGrid);
   9:  }
  10:   
  11:  function onChange()
  12:  {
  13:      var contactsSubgrid = Xrm.Page.getControl("Contacts");
  14:      alert ("Total de contactos: "+contactsSubgrid.getGrid().getTotalRecordCount());
  15:  }

  
Finalmente, lo que podemos hacer ahora es:
  • Acceder al Grid para ver la vista seleccionada, añadir eventos en el load, etc.
  • Acceder a los elementos de la vista, cuantos registros hay, cuales están seleccionados, etc
  • Acceder a los datos de los subgrids (GridEntity) con los campos entityType, id y name
  • Cambiar las vistas seleccionadas
El artículo de la SDK que ofrece mas detalles de estas mejoras está aquí: https://msdn.microsoft.com/en-us/library/dn932137.aspx y aquí con mas detalle: https://msdn.microsoft.com/en-us/library/dn932126.aspx
@demian_rasko

sábado, 16 de mayo de 2015

Como configurar Parature KB en Dynamics CRM Update 1

Dynamics CRM o la familia de Dynamics CRM sigue creciendo. Muchos ya conocen Dynamics Marketing o Social Engagement, pero también hay otro producto llamada Parature, que es una solución global enfocada al servicio al cliente.

Esta solución, está cada vez mas integrada con Dynamics CRM, y de hecho el Update 1 (solo online de momento), permite la integración de la KB de Parature, dentro de los formularios de CRM.

Hoy voy a explicar paso a paso como configurar y utilizar esta integración.

Lo primero que hay que hacer es configurar Parature dentro de Dynamics CRM en la zona de Administración de servicios:

image 

Y luego abre esta pantalla:

image

Allí debemos seleccionar:

  • Instancia de Parature (debe estar en la misma instancia de Office365)
  • Id del departamento
  • Dirección URL del portal

Para recoger el Id del departamento, debemos ir a Parature y copiar el número que pongo a continuación:

image

Y para la URL del portal la que enseño a continuación:

image

Luego de haber rellenado esos dos valores, damos a siguiente y nos aparecerá lo siguiente:

image

Luego vamos a crear un artículo nuevo en la KB de Parature:

image

image

La enviamos para revisión:

image

Y la aprobamos y publicamos:

image

Una vez aprobado el artículo, ya podemos crear casos en CRM y en el “Panel social” tener acceso al mismo:

image

Si hacemos click sobre el título, podemos previsualizar el artículo:

image

O en una ventana emergente:

image

Además podemos enlazar en artículo con el caso:

image

Los artículos relacionados aparecen aquí:

image

Mediante esta configuración tan sencilla nos permite añadir los artículos de KB de Parature dentro de CRM, con toda la potencia y versatilidad que da Parature, y con toda la trazabilidad y seguimiento que puede darnos Dynamics CRM.

Espero les haya gustado.

@demian_rasko

lunes, 11 de mayo de 2015

Como saber la edad de un Contacto con un Campo Calculado

Hoy vamos a usar los campos Calculados para determinar la edad de un contacto.

La idea es simple…desde una fecha de nacimiento, quiero tener un campo que vaya cambiando año tras año, diciéndome la edad del Contacto.

Antiguamente si nos enfrentábamos ante un desafío de esta envergadura, solo nos quedaba la opción de ponernos a desarrollar plugins, servicios externos, etc. para ir actualizando estos datos.

Hoy en día, podemos hacer estas cosas de forma mucho mas sencilla, simplemente utilizando funcionalidades nuevas de los campos calculados del Update 1 (solo para CRM Online).

La idea es simple, primero creamos un campo Edad en el contacto, de tipo entero y calculado:

image

En la regla del cálculo ponemos algo tan simple como: “DIFFINYEARS(birthdate,NOW())” pero lo que obtenemos es un error:

image

Por que? solamente queremos sacar la diferencia en años (nueva función de Update1) entre el birthdate y ahora (Now). Esto ocurre porque los formatos de ambos campos es diferente. la función “Now()” devuelve un campo con formato Fecha/Hora, y el Birthdate es solo fecha.

Entonces, se me ocurre ir al campo “birthdate” y cambiarle el formato. Pero resulta que no se puede cambiar el formato:

image

Entonces me creo un campo nuevo de formato Fecha y hora:

image

Vuelvo al campo calculado que se llama “Edad” y ahora:

image

Y lo añado en el formulario y ya lo tenemos:

image

Este campo ya lo podemos utilizar en vistas por ejemplo:

image

Espero les haya gustado!

@demian_rasko