Bienvenidos al curso de introducción al desarrollo de Microsoft Dynamics AX bajo la versión 2012 R3.
Este curso va dirigido a personas con conocimientos de programación que se quieren iniciar en el mundo de la consultoría técnica con Dynamics AX, como pueden ser personas que acaban de finalizar sus estudios de informática o ingenierías, así como profesionales de otros lenguajes de programación que necesitan o quieran aprender a trabajar con este ERP.
A lo largo de este curso veremos cómo se estructura Dynamics AX de forma tanto física como lógica, y daremos un vistazo por el entorno de desarrollo para conocer los principales elementos que tenemos disponibles para trabajar.
Aprenderemos lo esencial del modelo de datos de Dynamics AX de forma que podamos crear nuestros propios desarrollos basados en las necesidades de los clientes. Para ello hablaremos de los tipos de datos con los que trabaja AX y de como utilizarlos en forma de variables.
Seremos capaces de crear nuevas tablas en el sistema y de mantener las ya existentes para poder almacenar los datos correctamente. Trabajaremos con Mapas, Vistas y Queries, lo que nos permitirá conseguir desarrollos más consistentes y reutilizar código en ellos.
La herencia de tablas es un concepto que se ha introducido desde la versión 2012 de AX, y veremos como trabajar con tablas heredadas y como decidir cuando se debe o no utilizar este tipo de tablas.
Una vez que tengamos nuestro modelo de datos perfectamente definido y creado, tendremos que dar visibilidad a los usuarios para que sean capaces de trabajar con el, esto se consigue mediante la interfaz de usuario.
Para ello veremos como crear formularios basados en estas tablas y como referenciar los formularios en el menú del sistema para que el usuario pueda acceder a ellos. Trabajaremos con las plantillas de formularios, lo que nos permite ahorrar tiempo en el desarrollo así como hacer que nuestras modificaciones estén mucho mas estandarizadas. Una de las plantillas de formularios más importante es el List Page, por lo que dedicaremos una cápsula a este tipo de formulario, viendo sus partes principales y como trabajar con ellas.
Por último, nos centraremos en la seguridad del sistema, y aprenderemos a gestionar los accesos de los usuarios de forma que estos solo puedan acceder a aquellos formularios y datos que su rol en la empresa le permite.
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.
Bienvenidos a un nuevo curso de desarrollo sobre Microsoft Dynamics AX bajo la versión 2012 R3. Este nuevo curso de la plataforma AXAZURE está destinado a profundizar en algunos aspectos de AX para personas que ya tienen conocimientos sobre el desarrollo con este ERP, por lo que será necesario controlar perfectamente la creación de objetos desde el AOT y creación de proyectos de desarrollo entre otras cosas, así como conocer el lenguaje de programación X++. Si no es tu caso, te invitamos a que veas los cursos de Introducción al Desarrollo y de Desarrollo con X++ que puedes encontrar en nuestra plataforma de e-learning.
Este nuevo curso va a tratar diferentes frameworks de desarrollo incluidos en Dynamics AX, algunos de ellos nuevos desde la versión 2012, que facilitarán el trabajo del desarrollador en su día a día.
Comenzaremos con en Query Framework, viendo como crear una serie de estructuras para realizar consultas contra la base de datos desde X++, y veremos las novedades que fueron incluidas en este framework en la versión 2012 de AX.
Seguiremos trabajando con el Number Sequence Framework para poder generar números de secuencia que se utilizarán como identificadores únicos en una serie de registros. Veremos su configuración, creación y uso.
Gracias al Eventing Framework veremos un nuevo patrón de diseño de soluciones basado en Eventos y Delegados, que nos permitirá reducir el coste de la ampliación de la funcionalidad estandar, reduciendo también los posibles conflictos que podemos encontrar en futuras actualizaciones.
Dedicaremos una cápsula al nuevo Framework de Extensión incluido en la versión 2012 R3 de AX, que cambiará la forma en la que hemos estado programando hasta ahora cuando teníamos que trabajar con clases base y clases heredadas, ahorrando tiempo en el desarrollo de éstas.
Haciendo uso del Date Effective Framework, veremos lo que se simplifica nuestra labor cuando tenemos que trabajar con tablas con validez en el tiempo, como puede ser, por ejemplo, la tabla que tenemos para controlar los tipos de cambio entre divisas.
Trabajaremos con el SysOperation Framework, que viene a sustituir a los frameworks RunBase y RunBaseBatch, viendo como realizar procesos en los que el usuario tiene que interactuar por medio de introducción de parámetros en diálogos.
Gracias a este famework, seremos capaces de lanzar estos procesos para que sean ejecutados en servidores de lotes, por lo que dedicaremos otra cápsula a la configuración y utilización del Batch Framework, para que podamos generar procesos por lotes y así liberar el cliente de AX para realizar ciertas tareas.
Por último, realizaremos una introducción al Unit Test Famework, viendo como generar pruebas unitarias que nos permitan validar en todo momento nuestro código y así comprobar que los cambios realizados son correctos.
Como siempre, este es un curso abierto, por lo que si consideras que sería util realizar una cápsula sobre cualquier otro framework que no esté incluido en el curso, no dudes en contactar con nosotros para ampliar el contenido.
Bienvenidos a este curso donde vamos a hablar sobre la gestión del ciclo de vida completo de una aplicación Dynamics AX 2012 utilizando las herramientas disponibles en la suit Team Foundation Server de Microsoft, tanto en su versión on-premise, la que podemos instalar en nuestros servidores, como en la versión en la nube llamada Visual Studio Online.
En la primera cápsula revisaremos todas las posibilidades que nos ofrece TFS y las ventajas que nos va a aportar utilizarlas durante el desarrollo en Dynamics AX. A continuación entraremos en profundidad sobre el primer módulo del curso dedicado a la gestión de tareas y requerimientos desde TFS, y veremos cómo utilizar desde Dynamics AX estas tareas llamadas "elementos de trabajo" y cómo se adaptan a las diferentes metodologías de gestión de proyectos, dependiendo de la que utilicemos en nuestra empresa.
Esta primera cápsula es importante porque, aparte de la visión general del producto que veremos al principio, podremos entender cómo estos elementos de trabajo se integran con el resto de módulos de TFS permitiendo un sistema de trazabilidad muy completo entre los requerimientos o peticiones que nos llegan desde consultoría o desde quienes sean nuestros stakeholders y el trabajo que ha sido necesario para solucionar estos requerimientos, incluyendo tanto cambios en los objetos de AX, como el proceso de compilación donde fue procesado la primera vez o incluso cuándo ese cambio se instaló en cada uno de los entornos de trabajo que utilizamos, como pruebas, UAT, producción, etc. Para llegar a ese nivel de trazabilidad tendremos que poner en práctica todo lo que vamos a ver en este curso.
En la segunda cápsula aprenderemos a utilizar Team Foundation Server como un repositorio de código para Dynamics AX, lo que supone una mejora increíble en la calidad de vida de cualquier programador de Dynamics AX, ya que en otras tecnologías el uso de un gestor de código es algo imprescindible desde hace años. Veremos cómo conectar el código de AX con TFS y como realizar las funciones más habituales que permite cualquier gestor de código, prestando especial interés en cuáles de esas funciones no están disponibles en AX si no utilizamos un gestor de versiones, y también los problemas concretos que se solucionan al utilizarlas.
En una tercera cápsula profundizaremos más sobre este tema para convertirlo, aparte de un gestor del código fuente, en un control de versiones mediante el uso de ramas de desarrollo. Analizaremos para qué sirven las ramas, cuándo es útil utilizarlas y cómo facilitan el control de las versiones de nuestro sistema, o de nuestros productos, dependiendo del tipo de desarrollo que realicemos en nuestra empresa. Veremos que hay muchas estrategias para el uso de ramas, y cómo elegir las más apropiadas.
Y por último cerraremos el ciclo en la última cápsula hablando de procesos automatizados de compilado que nos van a permitir automatizar, o al menos automatizar mucho, el despliegue de las modificaciones entre nuestros diferentes entornos como son Desarrollo, Pruebas, Producción, etc. Hablaremos sobre las herramientas disponibles en TFS para facilitar esta automatización y cómo combinarlas con herramientas propias de Dynamics AX y con las herramientas del sistemas, como PowerShell, para que el paso de modificaciones de un entorno a otro sea totalmente seguro y lo más automatizado posible, lo que va a disminuir, no solamente nuestro trabajo, sino el tiempo que hay que detener el sistema para pasar estos cambios a produccion. Por ejemplo, en la empresa donde trabajamos un pase de producción al final de cada iteración de desarrollo, que son 3 semanas, no nos lleva más de 15 minutos.
Como todos los cursos de AXAZURE dejamos la puerta abierta a nuevas cápsulas en el futuro. La arquitectura de Dynamics AX puede llegar a ser bastante complicada, depende mucho de la forma de trabajar de nuestra empresa y de los productos que estemos desarrollando. Si tienes una idea que crees que podría ser interesante, háznoslo saber y es posible que se convierta en una nueva cápsula en el futuro.
Bienvenidos a un nuevo curso para desarrolladores de Microsoft Dynamics AX en el que trataremos todo lo relacionado con el Reporting en Dynamics AX 2012 R3. Son muchas las novedades que nos trajo bajo el brazo esta versión de nuestro ERP, una de las más importantes a nivel técnico es la migración de todos los informes estándar a la tecnología SQL Server Reporting Services. Es por ello, que en este curso vamos a dedicar la mayor parte del tiempo, aunque no en exclusiva, al desarrollo de informes con Reporting Services.
Comenzaremos el curso viendo como, de una forma muy sencilla, podemos extraer información de nuestro sistema creando una serie de autoinformes, o trabajando con Word y gracias al Add-in de Office para Dynamics AX.
A continuación, nos iniciaremos en la creación y modificación de informes con SQL Server Reporting Services. Para ello, veremos la configuración necesaria dentro de Dynamics AX para ser capaces de ejecutar estos informes, así como las distintas formas de implementar que tenemos disponibles.
Veremos como crear informes, basando sus orígenes de datos en distintos objetos de AX, como pueden ser Queries almacenadas en el AOT cuando la estructura de datos necesaria es sencilla o con Report Data Provider si necesitamos procesar datos más complejos, para los que habrá que generar una serie de clases que realicen esta operación antes de pasar la información al report.
Seguidamente profundizaremos en algunos de los elementos que forman parte de los reports, como los parámetros y las plantillas de estilo, para poder crear informes más específicos y reducir el tiempo de desarrollo. También aprenderemos a interactuar directamente con los informes desde código X++, así como crear Datamethods para generar datos que se mostrarán en la ejecución del report.
Para finalizar con Reporting Services, veremos como crear un report completo utilizando Precision Design, de este modo veremos como podemos realizar un diseño mucho más específico utilizando el Report Designer.
Por último, veremos como podemos reportar información también desde SQL Server Analysis Services. Para ello repasaremos la configuración inicial necesaria y accederemos a los distintos cubos estándar que nos proporciona AX desde Excel. Acabaremos el curso creando un nuevo cubo OLAP desde cero, el cual será accesible para consultar información por parte de los usuarios.
Como es habitual en nuestros cursos, dejamos una puerta abierta para recibir vuestras sugerencias y comentarios, y así poder actualizar o ampliar el contenido del curso.
Bienvenidos a un nuevo curso de perfil técnico sobre Microsoft Dynamics AX 2012 R3. En este nuevo curso vamos a hablar de la gestión de datos en Dynamics AX, es por ello, que veremos las herramientas que nos proporciona este ERP para poder realizar migraciones de datos así como sincronizaciones de datos maestros entre distintos entornos.
Para comenzar, daremos un vistazo general a todas las herramientas que hay disponibles en Dynamics AX para la gestión de datos, bien sea para migrar datos realizando importaciones y exportaciones como para mantener los datos sincronizados en todo momento, y realizaremos una breve comparativa entre ellas que nos ayudará a decidir que herramienta utilizar en cada situación.
Cuando acabemos con esta introducción comenzaremos a profundizar en el Framework de Importación y Exportación de Datos, también conocido como Data Migration Framework o DMF. Veremos en profundidad que es y para que sirve esta herramienta, así como los componentes que necesitaremos instalar y la configuración que habrá que realizar en AX para poder utilizarla.
Una vez instalado y configurado, realizaremos un proceso de migración de datos completo con este framework, viendo cada uno de los pasos que hay que dar para ello, hasta conseguir importar una serie de proveedores desde un fichero .csv, aunque también hablaremos de los distintos formatos desde los que podemos exportar e importar datos en Dynamics AX.
Como veremos, el Framework de Importación y Exportación de Datos, trabaja con una serie de entidades que representan los orígenes de datos origen o destino para esta migración de datos. Estas entidades vienen predefinidas por defecto en el sistema, pero seremos capaces de crear nuevas entidades para conseguir utilizar esta herramienta también con datos que hagan referencia a nuevos desarrollos que hayamos realizado en el sistema.
Por último, veremos una nueva herramienta que ha sido introducida en la versión 2012 R3 de AX que nos permitirá mantener sincronizados los datos maestros de nuestro entorno, como pueden ser clientes, proveedores o productos entre distintas instancias de Dynamics AX, e incluso, entre bases de datos de AX con bases de datos externos. Esta herramienta es el Master Data Management, y aprenderemos a realizar la instalación y configuración de la misma para, posteriormente, gestionar la sincronización, como decíamos, de datos maestros entre distintos entornos.
Esperamos recibir vuestro feedback para seguir mejorando nuestros cursos, y si crees que hay algún tema del que debamos hablar, no dudes en comentárnoslo.
Bienvenidos a un nuevo curso para desarrolladores y consultores técnicos dentro de la plataforma e-learning de AXAZURE.
Como la mayoría sabréis, en un alto porcentaje de implantaciones de Microsoft Dynamics AX, resulta necesario, en mayor o menor medida, realizar integraciones con aplicaciones y clientes externos para cubrir ciertos requisitos que simplifican el trabajo a los usuarios evitando, en algunos casos, que tengan que duplicar esfuerzos para realizar su trabajo del día a día.
Muchas veces, este tipo de integraciones se han realizado mediante la importación de enormes ficheros de datos que ralentizan el rendimiento de la aplicación, e incluso programando servicios web externos capaces de comunicarse con Dynamics AX a través del Business Connector, entre otros. Pues bien, Microsoft Dynamics AX dispone de un framework completo para realizar este tipo de integraciones, tanto con aplicaciones desarrolladas con tecnologías Microsoft, como con aplicaciones desarrolladas con otras tecnologías, como puede ser java o php.
Este framework es el Framework de Integración de la Aplicación, conocido como AIF por sus siglas en inglés, y el objetivo de este curso no es otro que el de aprender a trabajar con este framework y con los servicios dentro de Dynamics AX 2012 R3.
Para ello, conoceremos los conceptos necesarios y la arquitectura de este framework, la configuración necesaria a realizar en nuestro entorno y los distintos tipos de servicios disponibles en Dynamics AX, profundizando un poco más, en principio en los servicios del sistema y viendo como somos capaces de consumirlos desde fuera utilizando para ello Visual Studio.
Una vez visto todo esto, nos centraremos en un tipo concreto de Servicios, los Servicios de documento, viendo los pasos a seguir para crear un servicio de este tipo y las tareas a realizar para exponerlo al exterior y consumirlo, lo que nos permitirá el intercambio de documentos XML con otras aplicaciones.
Para finalizar, nos centraremos en el tercer tipo de Servicios que tenemos en Dynamics AX. Estos son los Servicios personalizados. Gracias a este tipo de servicios, seremos capaces de exponer, entre otros, código X++ desarrollado por nosotros mismos, facilitando así la ejecución de esta nueva lógica de negocio desde cualquier tipo de aplicación externa.
Si no sois nuevos en nuestra plataforma, ya sabéis que estamos abiertos a recibir cualquier tipo de comentario o sugerencia que pueda hacernos mejorar, o incluso ampliar nuestros cursos, por lo que no dudéis en contactar con nosotros.