Como hemos visto en anteriores publicaciones las extensiones de Dynamics NAV son una forma para que los desarrolladores de Microsoft Dynamics NAV podamos ampliar la funcionalidad de NAV sin modificar el código fuente original de Microsoft.
Uno de los objetos con mayor complejidad a la hora de pasar a extensiones son los reports o informes. Hoy mostraremos de forma detallada como migrar informes de Dynamics NAV a extensiones de forma que se puedan ejecutar desde Dynamics 365 Business Central.
Los pasos a seguir para convertir informes NAV a Extensiones es el siguiente:
- Exportar informes de NAV en formato txt.
- Convertir en código AL usando la herramienta txt2al.
- Incluirlo en un proyecto de visual studio code.
- Revisar el código y publicarlo como extensión.
Paso 1: Utilizaremos un informe simple de Dynamics NAV
Creamos un simple informe personalizado de Dynamics NAV con ID 50000 que imprime los productos.
El conjunto de datos quedaría así:
Y el diseño es tan simple como esto:
Paso 2. Exportar informe NAV a txt
Una vez finalizado el informe en Dynamics NAV tenemos que exportarlo en formato TXT. Desde la opción Archivo Export… de la barra de menú de Dynamics NAV
Paso 3. Convertir el informe de Dynamics NAV a código AL
Para convertir nuestro informe a código AL debemos ejecutar el siguiente comando que utiliza la herramienta txt2al, se ejecutara desde la consola de comando en modo administrador, para ello tenemos que posicionarnos en la carpeta que contiene la herramienta, en nuestro caso es la siguiente ruta: «C:Program Files (x86)Microsoft Dynamics NAV110RoleTailored Client»
txt2al –source=»C:EXTENSIONESCAL» –target=»C:EXTENSIONESAL» –rename
Donde «C:EXTENSIONESCAL» es la ubicación del archivo exportado «origen» y «C:EXTENSIONESAL» es la nueva ubicación donde se almacenará el informe convertido «destino». La propiedad «Renombrar» cambia el nombre de los archivos de salida para evitar choques con el archivo txt de origen. Si la conversión es correcta os mostrara algo similar a esto:
Los nuevos archivos deben aparecer en su carpeta de destino.
Paso 4. Mover los archivos generados a nuestro proyecto de extensión de Visual Studio Code
Ahora nos llevamos los archivos que acabamos de generar al directorio de nuestra extensión y nos aparecerán en el entorno de Visual Studio Code. En VSCODE, abra el informe y especifique el valor de la propiedad Diseño de RDLC en la ruta de su diseño de RDLC de la siguiente manera:
Guarde y elimine el informe del entorno de desarrollo. Ahora compila y publica la extensión.
Recordaros que os pueden salir errores de formato o bien de parámetros, por ejemplo:
- dataitem(DataItem100000000;Table27) : las variables de tipo record no se reconocen con el id de la tabla, hay que indicar el nombre de la tabla.
- Currreport.TOTALFIELDS: hay funciones que se convertirán al lenguaje AL pero que ya no tienen funcionalidad en las extensiones, por lo tanto, hay que prescindir de ellas.
- init(): no es un error pero si una advertencia, ya que todas las llamadas a funciones deben finalizar con ().
- etc..
Espero que os sea útil.
Para mas información no dude en ponerse en contacto con ABD Informática, S.L.
Saludos 🙂