Exportación de más de 5.000 registros a Excel desde RTC en NAV 2009 SP1/R2

Hola hola,

hoy vamos a hablar de un nuevo Hotfix que estoy seguro muchos estabais esperando especialmente.

Desde el lanzamiento de Dynamics NAV 2009 hemos recibido frecuentes peticiones para conseguir que desde el cliente RTC se pudieran exportar a Excel más de 5.000 registros como ya se podía hacer desde el Cliente Clásico (No obstante no conviene olvidar que son clientes completamente diferentes y por tanto no es una buena idea compararlos...)

La limitación por la cual no era posible dicha exportación está "hardcodeada" (y digo está porque sigue ahí...) en la aplicación y por lo tanto no se trataba de un tema con resolución trivial pero finalmente disponemos de un build de NAV que permite realizar la exportación tan solo realizando un pequeño cambio ad hoc en el fichero de configuración del cliente RTC, ClientUserSettings.config, más conocido como "el fichero imposible de encontrar" :)

Vayamos por partes, lo primero que necesitamos es el Hotfix como tal, recordad que disponemos de una página en la que se listan los Hotfixes que se van lanzando para NAV 2009SP1/R2 y se agrupan en formato mensual. En dicha página podemos encontrar el enlace correspondiente al KB o Artículo de Conocimiento 2503748:

El número de compilación de dicho Kb es el 32146 y... pero espera, para un momento Diego, ¿no estábamos hablando de la posibilidad de exportar más de 5.000 registros deseRTC a Excel?, ¿qué tiene entonces que ver el flag de modificación del diseñador de objetos?

Como seguro que ya sabéis cada nuevo número de compilación o build de Dynamics NAV resuelve mas de una cuestión en concreto, de todos modos no es posible escribir un artículo de conocimiento para cada una de estas cuestiones pues no todas pasan por Soporte y es por ello que en determinadas ocasiones la descripción del artículo de conocimiento que os decimos que resuelve un coportamiento concreto no es la que encaja con dicho comportamiento.

Aclarado este punto sigamos adelante: Una vez hayamos descargado los ficheros correspondientes al Hotfix (recordad que en una entrada anterior ya explicábamos cómo descargar un Hotfix desde Partnersource) y nos aseguremos de que nuestra instalación viene de un número de compilación desde el que podemos instalar Hotfixes superiores al build 32074 (Si no sabés de que estoy hablando creo que la anterior entrada del blog os servirá de mucha ayuda :) ) ya estaremos en disposición de aplicar el Hotfix como tal (Es decir de realizar la sustitución de los archivos con el build antiguo pro el nuevo).

En condiciones normales sólo necesitaríamos reinicar nuestro servicio de Dynamics NAV y abrir nuestra BBDD desde el cliente deseado para contar con los beneficios del nuevo Hotfix (y así es para el resto de cuestiones solucionadas en este HF) pero en este caso y para poder aplicar el cambio que permita la exportación de más de 5.000 líneas necesitamos realizar una operación adicional:

Vamos a navegar hasta el fichero de configuración del cliente RTC (ClientUserSettings.config). Para facilitaros un poco la vida os pongo la ruta en la que podéis encontrarlo dependiendo del SO que utilicéis (espero que no os importe que os ponga la ruta en Inglés pero ahora mismo no tengo a mano ninguna máquina con SO en Español) :

  • Windows Server 2003 & Windows XP:
    • Documents and Settings\All Users\Application Data\Microsoft\Microsoft Dynamics NAV
  • Windows Server 2008, Windows Vista & Windows 7:
    • Users\User_Name\AppData\Local\Microsoft\Microsoft Dynamics NAV

Una vez hayamos localizado el fichero de configuración habremos de añadir la siguiente clave en el mismo:

<add key="MaxNoOfXMLRecordsToSend" value="20000" />

 Añadid la clave por ejemplo al final del documento de configuración como se puede ver en la siguiente captura:

 

Dónde MaxNoOfXMLRecordsToSend es el valor que nos marcará el mayor número de registros a exportar permitido (En este caso sería 20.000)

Ya casi estamos listos para probar el Hotfix pero antes permitidme que os explique la razón de dicha clave:

Para hacer un bypass del código que delimita el número de registros a exportar (recordad que la limitación está "hardcodeada" en el mismo) es necesario crear este valor en el fichero de configuración del cliente RTC, una vez que lo tengamos hecho y gracias a los cambios que aporta el HF la exportación será posible.

Si queréis probar este HF directamente siempre podéis crear una Página que liste todas las entradas de por ejemplo la tabla "Search Word Detail" que en una BBDD Cronus estándar contiene más de 10.000 registros.

Y como siempre: ¡No olvidéis realizar estas pruebas en un entorno de testeo antes de aplicarlas en producción!

Espero que os sirva de ayuda, sé que muchos estabais esperando este Hotfix.

Un saludo

¡Nos leemos!

Diego García Álvarez

Dynamics NAV Support Engineer