Buscar en este blog

jueves, 21 de marzo de 2013

Modelos en Dynamics Ax 2012 (exportación e importación de modelos)



Lo nuevo en la versión 2012 de AX son los modelos, es "algo similar" a las capas que ya veniamos manejando en 2009, como dirian en mi pueblo "iguales pero no tan iguales". Finalmente es una agrupación lógica de objetos, con la diferencia a las capas que en este caso los modelos los gestionamos nosotros y podemos crear cuantos modelos queramos o necesitemos.

En esencia están pensados para cuando hay varios partners trabajando en una implementación o cuando existen desarrollos de distintos equipos que no tienen comunicación entre si (ya ven que nunca pasa eso porque los desarrolladores somos bien nice y le hablamos a todo el mundo y reutilizamos código y somos la pura buena onda).

Así que bueno, la gran ventaja de trabajar con modelos es que podemos meter todos los cambios en el modelo, exportarlos y luego importarlos a un nuevo ambiente, por ejemplo de pruebas a producción o como se dice a últimos tiempos, de pruebas a "go live".

Resumiendo, en AX 2012 podemos tener visualmente:
Algo importante antes de que sigas leyendo, cuando se importan los modelos se debe:
1. reiniciar el servicio
2. compilar y sincronizar
*** Este proceso va a tardar de 3 a 4 horas!!! si sigues leyendo toma en cuenta que esto en un ambiente productivo es poco práctico, a menos que quieras importar modelos a las 2 de la madrugada y compilar a esa hora para que los usuarios no sientan que AX esta lentísimo. Bajo advertencia no hay engaño.

Cómo crear o cambiar de modelos

En el ambiente de desarrollo, menu Herramientas -> Administración de modelos -> Crear modelo
Ponemos el nombre del modelo, el publicador, en este caso yo pongo el nombre de mi empresa, una descripción y un nombre corto, como se muestra en la siguiente imagen.
Ya que se creo, podemos cambiar al modelo de dos formas, como en la primera imagen y elegir la primera opción de cambiar modelo actual. Ó de otra forma al dar clic  en el nombre del modelo en la esquina inferior derecha
Para ver a cuál modelo pertenece cada objeto en Herramientas -> Opciones ->Desarrollo poner que se muestren todos los elementos como se muestra en seguida:
Y en el AOT, en todos los objetos veremos como en letras grises del lado derecho aparece el modelo al que pertenecen.

Ahora viene la verdadera utilidad, cómo exportar toooodo el modelo a otro ambiente



Exportar el modelo
Para exportar el modelo se debe abrir el cmd como administrador.

C:\Program Files\Microsoft Dynamics AX\60\ManagementUtilities> axutil export /model:"Logistica de transportes" /file:modeloSit.axmodel

El resultado:

El archivo con la exportación del modelo se guarda por default en: C:\Program Files\Microsoft Dynamics AX\60\ManagementUtilities\

Importar
Para la importación de igual forma se debe abrir el cmd como administrador. 
Para facilidad de importación copiamos el archivo .axmodel en la misma ruta del servidor que donde esta el axutil (C:\Program Files\Microsoft Dynamics AX\60\ManagementUtilities\).

El comando "/conflict:push" se usa para evitar los conflictos de que objetos se encuentren en distintos modelos.
Nota: El modelo no necesariamente debe existir en el nuevo ambiente al que vamos a importar.

C:\Program Files\Microsoft Dynamics AX\60\ManagementUtilities>axutil import /file:modeloSit.axmodel /conflict:push
*** Importante
Cuando se importan los modelos se debe:
1. reiniciar el servicio
2. compilar y sincronizar
*** Este proceso va a tardar de 3 a 4 horas!!!

Aquí una pequeña actualización, el usuario con el que vayan a importar el modelo, debe estar dado de alta como usuario de la base de datos Microsoft Dynamics Ax con los permisos de reader, writer y ddladmin y además en la base de datos MicrosoftDynamicsAx_model debe ser usuario owner. Ahí se los paso al costo porque me llevo como 3 horas darle al punto eh.


Y por cierto, acuerdate de darle click a algún anuncio si el post te sirvio de algo.

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.



10 comentarios:

  1. gracias sigue con tu blog, q es de mucha ayuda

    ResponderEliminar
    Respuestas
    1. Gracias! voy a seguir tu consejo de seguir.

      Eliminar
  2. Gracias por el tiempo invertido en esto

    Marilú

    ResponderEliminar
    Respuestas
    1. Gracias a ti Marilú, espero que haya sido de ayuda.

      Eliminar
  3. Muchas Gracias por tu aportacion es muy valiosa.

    ResponderEliminar
    Respuestas
    1. Gracias, voy a seguir publicando ;)

      Eliminar
    2. Hola como estan, soy consultor pero nuevo en AX, estoy en la implementacion en una empresa y quisiera saber si es posible pasar los datos que estan en un programa VISUALFOX que se pueden exportar a excell con las colunmas que necesite para subir todos los movimiento a AX?
      Gracias por su respuestas, Att, Francisco Benal, ing. sistemas, Cali, Colombia

      Eliminar
    3. Hola Francisco, si es posible. Hay varias maneras de hacer lo que necesitas, una de ellas es como bien dices exportar los datos a Excel y por medio del Add-in de Excel, la segunda forma es mediante el Data Migration y la última es mediante código. Estas tres aplican para Ax 2012.

      Eliminar
    4. Yo creo que te olvidaste del post, sin hacer ningún ejemplo ni nada. Ojala puedas seguir tu promesa de seguir con el post.

      Eliminar
  4. podrias poner ejemplos de algunos codigos sencillos, por ejemplo,wn una consulta yo hice uno:
    Display PurchName PurchName()
    {
    ;
    return PurchTable::find(PurchLine.PurchId).PurchName;
    }

    si funciona pero tengo el problema que cuando abro la pantalla, el nombre del proveedor no aparece del todo correcto, me tengo que cambiar de renglon para que salga el nombre real, como puedo hacer para que aparezca el correcto sin que se mueva.

    ResponderEliminar