Modificar la cadena de conexión de hojas Excel dinámicas

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

2 comentarios en “Modificar la cadena de conexión de hojas Excel dinámicas”

  1. Hola

    Estoy implementando el CRM v3.0 en mi oficina y tengo algunos problemillas, primero, he generado un reporte dinámico en Visual e implementado en el CRM, pero al exportarlo a Excele, lo hace como hoja dinámica, (con grupos de esquema) y no como Tabla dinámica (pivot table), como lo puedo resolver????

    Y la otra cuestión, como borro toda la base de datos, si necesidad de hacerlo en los objetos del CRM?????

    jmoreno@ediciones-sm.com.mx

  2. Cuando dices reporte dinámico ¿Te refieres a un report de Reporting Services o a una consulta de búsqueda avanzada? Si es lo segundo al darle al exportar a Excel te debería aparecer la opción para seleccionar tabla dinámica, mientras que los reports sólo se pueden exportar en formato estático.

    Sobre borrar la BBDD, aunque estoy seguro de que se puede hacer de manera manual, creo que sería demasiado complicado y los más probable es que acabases por dejar inoperativo Microsoft CRM. Mi recomendación es que realices un nuevo despliegue de Microsoft CRM, asegurandote antes de salvar todas las personalizaciones que hayas realizado.

    Un saludo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *