Wednesday, December 19, 2018

Extension de una Tabla en Dynamics 365 Finance and Operations

Una de las novedades que más impacto puede traer a la hora de querer agregar funcionalidad a objetos nativos de Ax es que se recomienda NO tocar los Originales (Overlaying) y en vez de esto, crear un extensión del mismo y ahí hacer las modificaciones pertinentes.

Esto tiene una ventaja enorme, significa mantener los objetos intactos y cuando Microsoft haga alguna actualización pues no tocará nada de lo que hayamos desarrollado afectando únicamente al estándar de Ax.

Vamos a la práctica.

Supongamos que tenemos una tabla con cierto número de campos y queremos agregar algún otro campo que haga falta sin afectar a la tabla original.

Vamos a crear una nueva Tabla (en la vida real, esta sería una tabla nativa de Ax)

Clic derecho sobre el proyecto, Add y finalmente New ítem..
En la sección Data Model, tenemos la opción Table. Le damos un nombre y agregamos

Le agregamos los campos base:
Los campos se agregan de manera tradicional; click derecho, New, tipo de dato deseado...

Ahora vamos a crear una extensión de la tabla (Buscamos nuestra tabla desde el AOT, si no se encuentra, debemos sincronizar primero el proyecto con la base de datos)
Sobre el AOT, se puede hacer una búsqueda para encontrar nuestro objeto al cual le crearemos un "Extensión"
Esto agrega un nuevo objeto a nuestro proyecto con el Nombre del objeto original y agregando .Extensión
Extensión del Objeto 

Lo abrimos y le agregamos un nuevo campo:
Abrir el objeto Extension
Se agrega el nuevo campo 


Sincronizamos nuevamente y ahora vamos a escribir algo de código. La idea es instanciar un objeto de la tabla original (MyTable) que a su vez, al tener una extensión, debería mostrarnos tres campos (dos originales y uno de la extensión)
La instancia del Objeto MyTable muestra el campo creado en la Extension

El job, agrega un nuevo registro. Para comprobar la funcionalidad, visualizamos la tabla en el explorador:
Para visualizar los datos de la tabla en un Web Browser

Vista previa de la tabla con los tres campos y sus datos respectivamente.

Como podemos ver, la tabla tiene tres campos, y no dos como originalmente estaba diseñada.

Espero haberles ayudado.

Saludos!

No comments:

Post a Comment