A partir de la versión 6 de AX (AX2012) la mayor parte del código se ejecuta en el entorno de CIL y no puede depurarse desde el depurador de Microsoft Dynamics AX en X++. Igual os habréis sorprendido al introducir un punto de interrupción en x++ y después ver que no se ejecuta el depurador aun estando seguros de que la ejecución pasa por ese punto. Esto significa que el código se está ejecutando en CIL y necesitamos depurarlo con Visual Studio.
Vamos a ver el proceso que debemos realizar (siempre en un entorno de tes/desarrollo):
Mostrando entradas con la etiqueta msdynax. Mostrar todas las entradas
Mostrando entradas con la etiqueta msdynax. Mostrar todas las entradas
jueves, 15 de enero de 2015
Depurar código desde Visual Studio en AX2012
Etiquetas:
aos,
aot,
ax,
ax 2012,
ax 2012 r3 cu8,
ax2012,
axapta,
class,
compile,
debug,
debug code,
debug code ax,
debug code in visual studio,
debugging in visual studio,
developer,
dynamics ax,
msdynax
lunes, 22 de diciembre de 2014
Microsoft Dynamics AX 2012 R3 CU8 - FAQ
Con el lanzamiento anunciado recientemente de la actualización acumulativa CU8 para Microsoft Dynamics AX 2012 R3 (6.3.1000.309) con
KB2998197, hay varios cambios fundamentales en cómo se distribuye y se instala en
entornos locales el paquete CU. La diferencia más notable es que la instalación
de la actualización se descarga primero y no contiene realmente ningún fichero de actualización de productos. Las correcciones y mejoras se descargan como parte de
la ejecución del instalador de actualizaciones. Aquí se resuelven algunas de las preguntas o dudas mas comunes que pueden surgir:
- Mi entorno no me permite descargar el paquete desde el sitio web de Lifecycle Services (LCS). ¿Dónde está el "paquete sin conexión?
- El paquete completo se puede aplicar con una nueva instalación de AX2012R3 cuando se utiliza el proceso inserción de la update en el disco de instalación. Usted tendrá que acceder a LCS y descargar el paquete CU8 y guardarlo como un paquete de actualización personalizada localmente. Este paquete de actualización se puede copiar a cualquier ubicación para su uso en modo "offline". Esto aparece en la Guía de instalación (paso 7 en la página 7):
"Opcional: En la página Guardar cambios, haga clic en Guardar paquete de actualización personalizada. A continuación, puede volver a utilizar el paquete de instalación que ha creado en otro equipo en su entorno.Después de que el paquete de actualización personalizada se ha creado, puede abrir la ubicación donde queda almacenado." - ¿Por qué hay dos números de versión de CU8?
- Al instalar CU8 en una instalación existente, los modelos granulares se instalan de forma individual. El paquete específico que indica todas las correcciones de aplicaciones incluidas en CU8 es la build específica: 6.3.1000.473.
En mi caso aquí podéis ver como queda al realizar la actualización sobre una instalación existente de AX2012R3:
Versión del kernel: 6.3.1000.309
Versión de aplicación: 6.3.1000.473 - ¿Por qué hay más de 1500 modelos nuevos instalados en mi sistema cuando veo los modelos instalados en pantalla Ayuda> Acerca?
- CU8 es una colección de todas las revisiones publicadas anteriormente, actualizaciones legales, y mejoras de características. Cada uno de estos cambios es capturado en su propio modelo individual con el objetivo de lograr menos dependencias entre parches, en comparación con el desarrollo actual de AX2012 R2.
- ¿Qué es "Spliptreaming" y por qué debo utilizarlo?
- Slipstreaming está bien definido en la pagina 4 de la Guía de instalación:"Si va a instalar Microsoft Dynamics AX 2012 R3, por primera vez, puede utilizar el asistente de configuración y el proceso slipstreaming para instalar CU 8 junto con el resto del producto. Cuando se usa este proceso, el programa de instalación detecta automáticamente las actualizaciones y las aplica."
Básicamente consiste en descargar el paquete de actualizaciones y meterlo en la carpeta "Updates" como veis en la imagen (descarga desde LCS): - ¿CU8 requiere Visual Studio 2013?
- Sí. Si necesita abrir un proyecto de Visual Studio como por ejemplo un diseño de informes u otro proyecto de C #, Visual Studio 2013 es obligatorio.
Etiquetas:
ax,
ax 2012,
ax 2012 r3 cu8,
ax update,
ax2012,
axapta,
cu,
cu8,
cumulative update,
developer,
dynamics ax,
lifecycle services,
microsoft,
msdynax,
update,
visual studio,
x++
miércoles, 10 de septiembre de 2014
Dynamics AX 2012 - Lista completa de flujos de trabajo
Microsoft Dynamics AX 2012 R3 cuenta con 75 tipos de flujo
de trabajo en la instalación predeterminada. La utilización de estos flujos
puede ser muy útil para las empresas pues añade un valor añadido a las implantaciones
del ERP.
Lo más importante es saber cuáles son estos y flujos y lo
que hacen. Después con unas pequeñas modificaciones podemos adaptarlos a las
necesidades de cada empresa. Puede haber flujos de trabajo con múltiples configuraciones
que utilizan uno o más de los flujos de trabajo que aquí muestro.
He utilizado el siguiente JOB para extraer la lista completa
del AOT. Cambiando el código de idioma 'es' se puede sacar la lista con
diferentes traducciones. Algunos aparecen en inglés, supongo que será debido a
que la etiqueta no tiene traducción al castellano.
JOB:
static void ListaFlujosDeTrabajo(Args _args)
{
#AOT
#Properties
TreeNodeIterator NodeIterator;
TreeNode Node;
NodeIterator = TreeNode::findNode(#WorkflowTypesPath).AOTiterator();
Node = NodeIterator.next();
while (Node)
{
info(strFmt("%1 ; %2", SysLabel::labelId2String2(findProperty(Node.AOTgetProperties(), #PropertyLabel), 'es'),
SysLabel::labelId2String2(findProperty(Node.AOTgetProperties(), #PropertyHelpText), 'es')));
Node = NodeIterator.next();
}
}
lunes, 1 de septiembre de 2014
Configurar Microsoft Dynamics AX 2012 X++ Editor Extensions
Si hemos desarrollado anteriormente en Visual Studio o Visual Basic y ahora tenemos que trabajar con el editor X++ de Dynamics AX quizás echaremos de menos algunas características que nos facilitan la vida a los desarrolladores. Sobre todo cuando tenemos muchas líneas de código. Por suerte y gracias a nuestro amigo José Antonio Estevan podemos instalar una extensión para el editor X++ con unos sencillos pasos:
Paso 1: Descargar el archivo zip de CodePlex
http://ax2012editorext.codeplex.com/
Paso 1: Descargar el archivo zip de CodePlex
http://ax2012editorext.codeplex.com/
viernes, 29 de agosto de 2014
Usar formularios como LookUp (desplegable) en Dynamics AX 2012
Imaginemos que necesitamos un control StringEdit que nos despliegue una lista de todos los proveedores. Podemos hacerlo de manera automática asignando el ExtendedDataType al campo y estaría listo. Pero si queremos personalizar los campos que nos despliega podemos usar formularios como LookUp.
Empezaremos creando el propio formulario desplegable o LookUp:
Empezaremos creando el propio formulario desplegable o LookUp:
miércoles, 13 de agosto de 2014
Comprobar la sentencia SQL a partir de consulta select en X++
Si queremos saber que sentencia SQL ejecuta el procesador de consultas de SQL Server a partir de nuestra consulta select en X++ debemos hacer lo siguiente:
Lo que resulta:
- Agregar la palabra clave generateOnly en la sentencia select de X++.
- Llamar al método getSQLStatement().
Ejemplo:
static void JobSQL(Args _args)
{
PurchAgreementHeader purchAgreementHeader;
PurchAgreementActivity purchAgreementActivity;
select generateonly purchAgreementHeader join purchAgreementActivity
where purchAgreementHeader.RecId == purchAgreementActivity.PurchAgreementHeader;
info(purchAgreementHeader.getSQLStatement());
}
Lo que resulta:
Nuevo libro: Inside Microsoft Dynamics AX 2012 R3
Nuestro libro favorito "Inside Microsoft Dynamics AX 2012" se ha actualizado para AX 2012 R3 y ahora está disponible en formato de libro electrónico. Sin duda uno de los mas completos, sino el que más, sobre AX 2012. La edición impresa estará disponible el 21 de agosto.
Entre las novedades:
- Un nuevo capítulo sobre el desarrollo de las "comapion apps" para AX 2012.
- Un nuevo capítulo sobre la gestión del ciclo de vida de la aplicación, que incluye descripciones de las herramientas que se incluyen con Lifecycle Services.
- Nuevas secciones sobre el soporte para LINQ y gestión de impresión.
Los enlaces para adquirir la copia digital:
martes, 12 de agosto de 2014
AX 2012: Ingeniería inversa
Cando trabajamos con objetos (tablas o clases) que no hemos diseñado nosotros, es muy posible que necesitemos saber mas acerca de estos objetos. Necesitaríamos realizar técnicas de ingeniería inversa. En AX 2012 disponemos de una excelente herramienta de ingeniería inversa.
En primer lugar crearemos un proyecto vacío y agregamos las tablas o clases sobre las que deseamos realizar ingeniería inversa.
martes, 22 de julio de 2014
Copiar lista de favoritos de un usuario a otro
El menú de favoritos es una herramienta muy útil en Dynamics
AX. Ha existido desde hace tiempo en todas las versiones de AX
Una consulta común que me ha surgido dentro de la empresa
es, poder copiar los favoritos de un usuario a otro.
De manera estándar no se puede, pero si buscamos un poco
podemos hacerlo con ayuda de un job. Dynamics AX guarda los favoritos en la
tabla SysPersonalization, en el campo “Buffer”.
El siguiente job copia el menú de favoritos del usuario A al
usuario B. Si el usuario B tiene ya favoritos, se perderán, ya que primero han
de ser borrados.
martes, 1 de julio de 2014
DDL script generator for Dynamics AX 2012 R2 Synchronization
Description:
The standard synchronization process is a single threaded process. This causes performance problems in larger upgrades like AX 2012 RTM to R2, because we example add the partition column to all tables and indexes.
By using the DDL scripts we can push the sql server and disk system to the limit.
Please read the disclaimer when you hit the "Export Script".
Suscribirse a:
Entradas (Atom)