Con este curso vamos a ampliar los conocimientos adquiridos durante el curso de Introducción al Desarrollo, por lo que damos por supuestos ciertos conocimientos necesarios para realizarlo, como puede ser, conocer la estructura de dynamics AX, tanto física como lógica, crear Modelos y proyectos de desarrollo, y, por supuesto, crear objetos desde el AOT como tablas, formularios o queries entre otros.
A lo largo de este curso comenzaremos a trabajar con el lenguaje de programación X++, viendo sus principales características y las herramientas que tenemos disponibles para programar dentro del entorno de desarrollo integrado MorphX.
Hablaremos de las variables y de los distintos tipos de operadores que podemos utilizar con X++, así como de las principales sentencias de control que existen, bien para poder tomar decisiones durante la ejecucíón del programa mediante el uso de condicionales y bucles, o bien para comunicarnos e interactuar con el usuario.
X++ es un lenguaje orientado a objetos, por lo que la mayoría del trabajo se basa en trabajar con clases para ejecutar las acciones necesarias. Para ello, veremos como crear nuevas clases, utilizar la herencia para realizar desarrollos mas eficientes y poder sobrescribir métodos de clases ya existentes en el sistema.
Como ya sabemos, Dynamics AX es un ERP, por lo que un alto porcentaje de nuestro trabajo se basará en el manejo de datos, este trabajo resulta más sencillo debido a que X++ incorpora sentencias sql propias para la selección y edición de estos. Por este mismo motivo, veremos los métodos más importantes existentes en las tablas, utilizados para asegurar la consistencia e integridad de los datos.
Seguiremos con el manejo de excepciones, de este modo, aprenderemos a controlar los posibles errores críticos que puedan suceder durante la ejecución del programa y seremos capaces de decidir la acción a realizar el función de la interrupción obtenida.
Como ya vimos en el anterior curso, desde la versión 2012 de AX, ha habido una modificación en cuanto a la forma de crear las distintas relaciones entre las tablas, siendo ahora, la mayoría, relaciones por el campo RecId. Pues debido a este cambio, veremos la clase UnitOfWork, que nos ayudará a realizar inserciones o modificaciónes de datos en tablas relacionadas de forma masiva y eficiente.
Por último, trataremos de nuevo la seguridad. Centrándonos esta vez en los permisos de código y las políticas de seguridad, para trabajar con los accesos que tienen los usuarios tanto a objetos del sistema como a sus datos. También trabajaremos con la seguridad en el código X++, viendo como ejecutar APIs como la Api de Windows, o para el manejo de ficheros, de forma segura.