5/8/11

Reports en CRM 2011: lecciones aprendidas

Llevo unos días trabajando en un proyecto de migración del CRM de mi empresa a Microsoft Dynamics CRM 2011 Online. Incluye algunos temas de reporting, y el más básico de ellos es la impresión de facturas automatizada. No debería ser un problema, ¿no? En realidad, no, pero aún así hay algunas cosas que he descubierto por el camino y que … aquí van:

  • Si nuestra instalación de CRM es Online, los reports no se pueden basar en consultas SQL, sino en FetchXML. Para que el BIDS (Business Inteligence Development Studio) funcione con estos reports hay que instalar un complemento que viene incluido en el instalador de CRM.
  • No existe soporte a localización de los informes, como ocurre con otros proyectos .NET. Esto no es específico de CRM, sino de Reporting Services, así que toca olvidarse de ficheros de recursos resx. Hay algunas alternativas, como por ejemplo incluir código .NET en el informe, pero esto no es posible en la versión Online, ya que requiere instalar las DLLs en la GAC.
  • Si se requiere un sub-informe (por ejemplo Factura y Líneas de factura) se debe subir primero el informe padre y luego el informe hijo. En el informe hijo habrá que rellenar el atributo parentreportid.
  • Las vistas por defecto de informes muestran los que están en el idioma del usuario y los marcados como Todos los idiomas (-1) En un momento un poco ridículo pensé que quería decir “Todos los idiomas menos uno”, he, he. Pues no, quiere decir que si ponemos el atributo languagecode a –1 los usuarios verán el informe independientemente del idioma que hayan seleccionado.
  • Cuando se hacen cambios, subir cada vez el report al servidor es un proceso tedioso. Más aún si tenemos subreports y versiones localizadas.

Conclusión: estaría bien fabricar una herramienta que permita:

  • Localizar un report a varios otros idiomas.
  • Publicar un conjunto de reports al servidor en una sola acción.

¿Alguien se anima a hacerla? Sonrisa

No hay comentarios: