Dynamics 365 FO: Identificar origen de error a través de su etiqueta
En esta publicación abordaremos una de las tareas mas habituales y en cierta ocasión intensa que se presenta cuando se requiere identificar el origen en donde se emite un error en el sistema. Para esta nueva versión de Dynamics 365 FO, 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 Dynamcis 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 cuál, 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é cómo 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_Master.
Antes de empezar, una aclaración con respecto a las etiquetas que se presentan en un idioma diferente al ingles, para nuestro caso, el español. No existe archivos de etiqueta estándar físicos para un idioma que no sea el ingles, 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.
Bien, ahora 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 para que nos permita identificar en dónde 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.

Like
Report
*This post is locked for comments