375 alumnos
Curso Desarrollo con X++
Nivel 100

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 proyectos de desarrollo, y, por supuesto, crear objetos desde el AOT como tablasformularios 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.

Instructor
Juan Antonio Tomás
26 Recursos
Cápsulas del curso
  • Duración 17:05
    Archivos:

    El objetivo principal de esta cápsula es introducirnos en el lenguaje de programación de Microsoft Dynamics AXX++

    X++ es el principal lenguaje de programación que utilizaremos para el desarrollo con AX 2012 R3, puesto que, como veremos en próximos cursos, podemos utilizar lenguajes de programación .NET con visual studio para realizar una serie de tareas.
    Veremos las principales características de este lenguaje de programación así como las herramientas que tenemos disponibles en el entorno de desarrollo integrado MorphX para trabajar con X++.
    Por último, hablaremos de algunas de las Best Practices que tenemos que seguir al programar y de los beneficios que nos reporta el utilizarlas.

  • Duración 28:26
    Archivos:

    A lo largo de esta cápsula vamos a ver y comprender el uso de las sentencias de control en el lenguaje de programación X++. Para ello, haremos una introducción a las variables, su declaración y uso, así como el ámbito de las mismas. Veremos los principales operadores que tenemos disponibles en X++, así como las funciones que AX incorpora para ayudarnos con el desarrollo.

    Realizaremos ejercicios para ver las diferentes sentencias condicionales que hay disponibles en X++ y los bucles con los que podemos trabajar para ejecutar repetidamente bloques de código basándonos en una condición.
    Por último, hablaremos de las herramientas que tiene X++ para comunicarnos con el usuario, como pueden ser los Infologs o los cuadros de diálogo.

  • Duración 30:47
    Archivos:

    Esta nueva cápsula está dedicada a las Clases dentro del lenguaje de programación X++.
    Como ya hemos comentado varias veces, X++ es un lenguaje de programación orientado a objetos, por lo que se basa en el trabajo con clases objetos.
    A lo largo de la cápsula veremos como crear nuevas clases y como trabajar con el elemento principal de las clases: Los métodos.

    Iremos viendo los distintos tipos de métodos existentes y el uso que le damos a cada uno de ellos. 
    Trabajaremos con clases base derivadas, sobrescribiendo métodos de la primera en la segunda, ya que X++ permite la herencia entre clases.
    Por último, trabajaremos en la creación de una clase desde cero, escribiendo el código de los principales métodos necesarios para su correcta ejecución, y veremos como, desde los menú items, el usuario es capaz de ejecutar el código de esta clase desde su entorno de trabajo.

  • Duración 22:18
    Archivos:

    El objetivo de esta cápsula es aprender a trabajar con los datos de la aplicación directamente desde el lenguaje de programación X++.
    Para ello, veremos las diferentes sentencias que tenemos disponibles tanto para obtener datos de la base de datos, como para manipularlos.
    Ya hemos comentado varias veces en distintas cápsulas que X++ dispone de sentencias propias de SQL similares al SQL estándar. A lo largo de la cápsula veremos la sintáxis de la sentencia SELECT en Dynamics AX y las distintas opciones que tiene para realizar busquedas de datos eficientes.

    También veremos las instrucciones disponibles en AX para insertar, actualizar y eliminar datos directamente de la base de datos.
    Por último, veremos como podemos ejecutar directamente desde X++ las queries que aprendimos a crear en el AOT en curso de introducción al desarrollo.

  • Duración 14:02
    Archivos:

    A lo largo de esta cápsula vamos a hablar de los métodos que vienen predefinidos en las tablas.
    Es muy importante conocer al menos los métodos más importantes que tienen las tablas, su funcionamiento y la secuencia de ejecución habitual de estos métodos para poder realizar desarrollos coherentes y asegurar la consistencia e integridad de los datos.
    Hablaremos de algunos de estos métodos, para que sirven y como debemos de tratarlos. Veremos como, al trabajar con los datos desde un formulario, van ejecutándose todos estos métodos de forma automática. Y aprenderemos a editar estos métodos, y saber como tenemos que realizar las llamadas a los métodos en el caso de que nos encontremos con un desarrollo en el que seamos responsables del tratamiento de los datos, bien sea insertando, actualizando o eliminado, directamente desde código X++.

  • Duración 21:12
    Archivos:

    A lo largo de esta cápsula vamos a hablar del manejo de excepciones. Las excepciones pueden darse durante la ejecución de un programa por varios motivos. Por ejemplo, si lanzamos algún informe a imprimir y la impresora está apagada, si un usuario intenta modificar un fichero, y este fichero no existe o si intentamos actualizar un registro que no existe en la base de datos. En cualquiera de estos casos puede lanzarse una excepción, y somos los encargados de indicar a los usuarios que acción deben realizar cuando ocurre una de estas excepciones mediante mensajes claros, para que ellos mismos sean capaces de resolverla o para que reporten al equipo técnico y se pueda investigar sobre ella.

    Cuando finalice la cápsula seremos conocedores del mecanismo de manejo de excepciones de Dynamics AX. Para ello hablaremos de las sentencias TRYCATCH y RETRY y aprenderemos a utilizarlas, seremos capaces de lanzar excepciones gracias a la sentencia THROW y por último veremos las Excepciones de concurrencia optimista y aprenderemos a crear código para manejarlas.

  • Duración 17:02
    Archivos:

    El objetivo de esta cápsula es dar a conocer una clase concreta dentro de Dynamics AX 2012 R3.
    Esta clase es la UnitOfWork. La clase UnitOfWork apareció a partir de la versión 2012 de Dynamics AX, y el motivo de esta nueva aparición no es otro que el de facilitar las inserciones o modificaciones masivas de datos, debido al gran cambio que sufrimos en el patrón de modelado de datos.

    Si recordais, en la cápsula sobre tablas que vimos en el curso de introducción al desarrollo, vimos que Microsoft recomendaba realizar las relaciones entre tablas por un campo entero de 64 bits autoincremental, como puede ser el RecId.
    Pues bien, esto hace que se complique la inserción masiva de datos relacionados, ya que hasta que no estén los datos guardados, no sabremos el valor que tiene el campo por el que se hace la propia relación entre las tablas relacionadas.

  • Duración 17:02
    Archivos:

    En esta cápsula vamos a hablar de la seguridad de Dynamics AX enfocándolo al trabajo de desarrollador.

    Para ello, hablaremos de los permisos de código, para asociar permisos a los usuarios en función de su rol de segurdad, y también hablaremos de las políticas de seguridad, lo que nos permitirá controlar que grupos de usuarios pueden acceder a que datos concretos gracias al modelo de seguridad de datos extensible o XDS.

    Para finalizar veremos cómo aplicar la seguridad directamente al código X++ que vayamos desarrollando. Para ello utilizaremos la Code Access Security para dar permisos a distintas APIs que se ejecutan en el servidor, y veremos cómo podemos comprobar si un usuario tiene acceso a ciertos campos concretos de tablas por código para comprobar si se le puede mostrar cierta información o no.

Suscríbete y tendrás acceso a todos los cursos

Al utilizar este sitio web aceptas las condiciones de uso y aviso legal del mismoCerrar