Una de las grandes ventajas de Microsoft CRM es la flexibilidad que da a los usuarios para trabajar en la forma en la que se sientan más cómodos. Un ejemplo de esto es la capacidad para exportar datos a Excel desde prácticamente cualquier vista del sistema, ya que Excel (y en general la familia office) es un entorno de trabajo en el que normalmente un usuario de oficina se mueve como pez en el agua. Personalmente me he quedado sorprendido viendo algunas hojas Excel hechas por usuarios para cubrir sus necesidades de tratamiento de información, hay auténticas maravillas.
Pero Microsoft CRM nos ofrece algo más que simples exportaciones a Excel, como seguramente la mayoría ya conoceréis también tenemos la posibilidad de crear hojas de Excel dinámicas. Hojas que refrescan sus datos consultando al CRM cada vez que las abrimos, para disponer así de los últimos datos actualizados. Esto abre multitud de posibilidades a los usuarios para personalizar el CRM a su gusto, y así trabajar de la forma más cómoda para ellos, gracias a esto podrán crear en Excel gráficos de análisis, listados, cálculos, etc… y que se actualicen automáticamente con los últimos datos de Microsoft CRM. Además los responsables de los sistemas pueden estar tranquilos porque estas hojas se basan en la vistas filtradas, con lo que sólo le mostraran al usuario aquellos registros de Microsoft CRM que su rol de seguridad le permita.
Hay un pero, imaginad que invertís horas en crear una hoja dinámica en un servidor en pruebas y luego necesitáis usarla en otro servidor, o enviársela a un cliente para que la utilice en su CRM. Excel no da ninguna opción para modificar la cadena de conexión de las hojas dinámicas, permite modificar la consulta SQL que genera la vista, pero no la información de conexión a SQL Server… ¿Qué hacemos? Pues la solución no es muy complicada. Resulta que las hojas Excel que genera Microsoft CRM son un documento XML (aunque tenga extensión xls), así que no tenemos más que seleccionar el fichero Excel y abrirlo con el notepad, Visual Studio o un editor XML, y modificar la cadena de conexión en el elemento <Connection>. Por ejemplo:
1 2 3 4 5 6 |
<QueryTable xmlns="urn:schemas-microsoft-com:office:excel"> <!-- ... --> <QuerySource> <ConnectionDRIVER=SQL> Server;APP=Microsoft Office 2003;Network=DBMSSOCN;Trusted_Connection=Yes; SERVER=SERVIDORCRM;DATABASE=Organizacion_MSCRM</Connection> <!-- ... --> </QuerySource> |
Espero que este pequeño truquillo os sea de utilidad, espero vuestros comentarios. ¿Os parece interesante la capacidad del CRM para generar hojas dinámicas o no le veis la utilidad?
PD: El truco vale tanto para hojas dinámicas, como para tablas dinámicas
Un saludo,
Marco Amoedo