En esta publicación abordaremos una de las tareas más habituales y en cierta ocasión intensa que se presenta cuando se requiere identificar el origen en donde se presenta un error en el sistema. Para esta nueva versión Dynamics 365 Finance and Operations, lo complicado está en buscar el paquete donde se encuentra el recurso del idioma, ya les explicaré más adelante esta parte.

Pero antes, hagamos una retrospectiva de una solución utilizada en la versión AX 2012 y anteriores.

Al momento que el sistema presenta un mensaje de error que no es muy conocido, una de las actividades que por lo general nos enfrentamos es identificar el código fuente en donde se lanza ese mensaje de error. En versiones anteriores a Dynamics 365 FO, el sistema, en ciertos escenarios te permitía ir al mensaje de error, esto aceleraba la tarea, pero cuando esta ayuda no existía se recurría a lo siguiente.

En la siguiente imagen, podemos observar el botón Edit, el cual, permite abrir el código fuente donde está el mensaje de error.

Otra técnica que utilizaba cuando la búsqueda se complicaba era consultar el mensaje en el buscador de etiquetas y aplicar la herramienta Used by.

Bueno, algunas cosas en la versión anterior resultaban más fáciles. Bien, ahora, en esta nueva versión la tarea se vuelve un poco más intensa, es por ello, que a continuación, les indicaré como se puede buscar el origen del mensaje de error.

Para lograr esto, necesitaremos de una herramienta que permita desensamblar archivos Dll, yo he utilizado hace mucho tiempo ILSpy_Máster.

Antes de empezar, una aclaración con respecto a las etiquetas que se presentan en un idioma diferente al inglés, para nuestro caso, el español. No existe archivos de etiqueta físicos para un idioma que no sea el inglés, las etiquetas vienen incrustadas con su traducción en las librerías que están ubicadas dentro de los recursos de cada paquete estándar del sistema.

Empecemos observando el mensaje del error estándar.

Buscamos el paquete estándar Application Platform y desde la siguiente ubicación identificamos la carpeta recursos en el idioma que necesitamos buscar el mensaje.

Dentro de este directorio existe el archivo Dll SYS.resource.dll. Este es el archivo que necesitamos.

Abrimos el programa ILSpy

Cargamos la librería SYS.resource.dll ubicado en el paso anterior.

Exportamos la información hacia un archivo xml para realizar la búsqueda del mensaje.

Realizamos la búsqueda de la etiqueta completa o parte de la etiqueta, de la siguiente manera.

Con el id de la etiqueta, creamos un job (clase ejecutable) y utilizar la herramienta Buscar todas las referencias y nos permita identificar en donde se está utilizando esa etiqueta.

El sistema nos presenta los componentes en donde se presenta el mensaje de error.

Ahora, nos resulta más fácil establecer puntos de interrupción para verificar el escenario de error y llegar a una solución o entendimiento del problema.

 

Ismael Utitiaj
Product Innovation Consultant
Attomo Essential Group S.A