j.a.estevan

Si no eres parte de la solución, eres parte del poblema

HOWTO: Ejecutar tu propio código .NET en Dynamics AX 2009

Aunque esto es algo que tiende a desaparecer en el próximo Microsoft Dynamics AX 2012, de momento es una funcionalidad muy útil en la versión 2009, ya que es la única manera de solventar algunas limitaciones técnicas.

Me estoy refiriendo a la posibilidad de utilizar el .NET CLR Interop para ejecutar desde nuestro código X++ librerías desarrolladas en .NET (ya sea C# o VB.NET). Esta integración también tiene sus propias limitaciones pero amplía de manera notable las posibilidades de desarrollo en AX 2009.

Voy a hacer un ejemplo paso a paso, y el primer paso es crear la propia librería desde Visual Studio. En mi caso voy a utilizar (el ya súper antiguo) Visual Studio 2005 para crear un nuevo proyecto “Biblioteca de clases”:

Dynamics AX 2009 DLL Interop

El código va a ser muy sencillo para no complicar la prueba, simplemente devolverá el nombre del equipo donde se ejecuta el código (esto se puede utilizar para comprender la ejecución de código en el cliente (devolverá la máquina local) o en el servidor (devolverá el AOS):

01 de noviembre de 2011 | hay 3 comentarios

Reindexar el AOT para encontrar objetos perdidos

Hace unos dias me ocurrió un caso que no había visto antes y que paso a compartir. En un entorno basado en Microsoft Dynamics AX 3 SP1 (algo antiguo) empezaron a “desaparecer” objetos del AOT, concretamente todos los formularios situados a partir de uno determinado.

Problema AOT Reindex

Es una situación extraña porque los objetos no eran visibles en el AOT pero obviamente estaban ahí, ya que la funcionalidad asociada a ellos funcionaba correctamente, el problema es que resultaba imposible modificarlos.

Se me ocurrió probar soluciones típicas como compilar la aplicación entera, sincronizar la base de datos, eliminar los ficheros de índices (.aoi) de la aplicación, reiniciar el AOS, … en principio, no funcionó nada.

La solución resultó encontrarse en el menú:

  • Archivo > Abrir > Menú > Objetos de la aplicación

Objetos de la aplicación

Ejecutando las ultimas 4 opciones (Actualizar + Reindexar) por orden los formularios reaparecieron y todo volvió a funcionar con normalidad:

Solucion AOT Reindex

17 de febrero de 2010 | deja un comentario