Buscar en este blog

sábado, 10 de noviembre de 2012

Elementos básicos para desarrollo en Dynamics Ax 2012

En este post, les voy a comentar los elementos básicos que usa Ax para el desarrollo. Lo primero es saber cómo entro al entorno de desarrollo, dentro de Ax en la parte superior derecha esta la opción de "Nuevo ambiente de desarrollo" como lo muestro en la siguiente imagen ó Ctrl + D ó Ctrl + Shift + W ó mediante ax32.exe desde la línea de comandos.
Y se abre el ambiente de desarrollo con el AOT integrado:
El AOT es una vista de árbol de todos los elementos de aplicación con los que cuenta Ax. Cada nodo contiene distintos tipos. Dentro del AOT podemos modificar elementos existentes, crear o desarrollar nuevos. Solo como un tip, este AOT soporta la funcionalidad drag and drop.

Además, en cada elemento del AOT es posible dar click derecho para conocer las distintas opciones que nos ofrece Ax. Algo importante cuando se desarrolla, es la opción "abrir en nueva ventana", por ejemplo en la creación de formularios es necesario arrastrar grupos de campos o campos únicos de alguna tabla, la funcionalidad "abrir en nueva ventana" nos ayuda a visualizar en una ventana solo la tabla con sus campos y en otra ventana un formulario donde quisiéramos arrastrar campos de la tabla.
Todos estos elementos pueden ser exportados como archivos .xpo, este el único tipo que Ax reconoce para importaciones dentro del AOT.

Elementos en el Data Dictionary
El primero nodo del AOT es el Data Dictionary, dentro tenemos varios elementos "base" que se usan para el desarrollo: Tablas, Mapas, Vistas, Datos extendidos, Enumeradores, Códigos de licencia, Llaves de configuración, Llaves de seguridad (que desapareceran en la próxima versión de Ax), Colecciones de tablas y Perspectivas.

Todos estos elementos los iré describiendo poco a poco. De momento empezamos con las tablas.

Todas las tablas guardarán datos de acuerdo con la compañía configurada de transacciones, inventario, libro mayor, diarios, etc.

Existen tablas de sistema y tablas de aplicación. Un ejemplo de las tablas de aplicación serían:
CustTable: Información básica de clientes
VendTable: Información básica de proveedores
InventTable: Catálogo general de inventario
PurchTable: Información de creación de ordenes de compra

Las tablas de sistema se diferencian de las de aplicación por el prefijo "Sys"
Estructura de tablas
Una tabla en Ax se diferencia de una tabla en SQL porque tiene múltiples elementos que la definen. Son siete categorías  Campos, Grupos de campos, Indices, Indices full text, Relaciones, Acciones de borrado y métodos. Todas las tablas de Ax sin excepción cuentan con la capacidad de tener elementos como los mencionados y se ven de la siguiente forma:
Campos
Lo primero son los campos. Esto es fácil, son las columnas que pertenecen a la tabla. Solo debemos tener cuidado en manipular estos campos, ya que cualquier creación, borrado o modificación de algún en el AOT se refleja directamente en la base de datos física. Y claro que cada campo es de cierto tipo ya sea entero, string, fecha, enumerador, etc.

Grupo de campos
El nombre lo dice todo, son grupos que vamos organizando de forma lógica para ser usados después es formularios y reportes con solo arrastrar el grupo y no campo por campo. Ojo: Cualquier modificación a un grupo de campos se verá reflejada en todos los lugares donde es usada. Buena práctica: Todos los campos mostrados en un formulario debe pertenecer a un grupo.

Indices
Básicamente sirven para acelerar las búsquedas. Cuando se crean también existen físicamente en la base de datos.

Indices full text
Sirven para tener indices pero no sobre campos específicos de una tabla, sino para tener cadenas de texto sobre campos. Esto eficienta búsquedas y las hace más rápidas.

Relaciones
Ax usa base de datos relacional, lo que significa que entre las tablas se crean relaciones entre sus datos.

Acciones de borrado
Son acciones que se crean en la tabla "padre" y que definen eventos que se llevaran a cabo al momento de enviar una instrucción de borrado. Existen cuatro tipos:
- None: Solo se borra la fila de la tabla padre sin ningun efecto secundario
- Cascade: La fila en la tabla es borrada y todos sus datos relacionados también son borrados. Esto nos asegura no dejar registros hijos sin padre.
- Restricted: Solo nos permite borrar la línea siempre y cuando no existan registros relacionados en la tabla especificada.
- Cascade + restricted: Se comporta igualito que el Restricted.

Métodos
Son funciones que se crean para datos de la tabla en especifico. Por ejemplo: datos para lookups (combos) de otras tablas basados en la información de nuestra tabla principal o manipulación de datos durante eventos específicos.

Herencia (Inheritance)
Una tabla puede extender de otra especificandolo en la propiedad "Extend". Esto significa que nuestra tabla hereda todos los campos, métodos y propiedades de la tabla que extiende. Pueden agregarse nuevos campos, métodos  etc, obvio lo nuevo no es visto por la tabla de la que se extendio.



Por último, te invito a que te unas a la página de facebook recién creada para estar al día con las actualizaciones del blog y que podamos tener más comunicación. La meta? es hacer la comunidad de habla hispana mas grande sobre Dynamics Ax en cuestiones de desarrollo.



<<-- Anterior - Introducción al desarrollo                                                            Siguiente - Modelos -->>





2 comentarios:

  1. Gracias por la información, es un buen dato para quienes iniciamos

    Marilú

    ResponderBorrar
  2. Gracias por compartir esos conocimientos....Esperamos más.

    Gracias

    aziz

    ResponderBorrar