Mostrando entradas con la etiqueta compile. Mostrar todas las entradas
Mostrando entradas con la etiqueta compile. Mostrar todas las entradas

jueves, 31 de agosto de 2017

Depurar un informe Report Data Provider en AX2012 R3

En una entrada antigua del blog, hablábamos sobre como depurar código desde Visual Studio en AX2012 (que podéis ver aquí). Este proceso es válido para cualquier código que se ejecute en CIL (Common Intermediate Language), pero debemos tener en cuenta algunas consideraciones para depurar las clases RDP (usadas para desarrollar informes).
El principal inconveniente radica en que los informes RDP se basan en tablas temporales o en memoria, haciendo que no se puedan depurar directamente.
Vamos a ver cómo podemos solucionar este inconveniente y depurar nuestro informe RDP.
Primero debemos asegurarnos de tener permisos para depurar en el servidor actual, por lo que nuestro usuario debe ser miembro del grupo Microsoft Dynamics AX Debugging Users. Y revisar todo lo explicado en mi anterior post.
En la clase que ejecuta el RDP debemos cambiar:
//class TestReportDP extends SRSReportDataProviderBase
class TestReportDP extends SrsReportDataProviderPreProcess
Con esto conseguimos que el informe procese primero los datos, y por último muestre el informe por pantalla. Así podremos acceder a los datos con el depurador.
Debemos asegurarnos también que el método processReport() contenga la siguiente llamada:
Tabla_Temporal.setConnection(this.parmUserConnection());
Por último, tenemos modificar las propiedades de la tabla temporal:
  • CreatedBy = Yes
  • CreatedTransactionId = Yes
  • TableType = Regular
Con estos cambios, ya podemos depurar el código de la clase que procesa los datos del informe.

jueves, 15 de enero de 2015

Depurar código desde Visual Studio en AX2012

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):

lunes, 27 de octubre de 2014

Nuevas clases para enviar E-mail con AX 2012 R3

En la nueva versión de Dynamics AX 2012 (la R3) existe un nuevo framwork para el envío de e-mail. Está basado totalmente en la API de .Net. Una gran parte del código estándar de AX utiliza esta nueva clase. Requiere .Net 4.5 para ser usado.
Tenéis un ejemplo en \Classes\TrvMailHelper\sendMail
Podéis encontrar mas información en MSDN SysMailerNet Class [AX 2012]

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/


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:


  1. Agregar la palabra clave generateOnly en la sentencia select de X++.
  2. 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:


viernes, 11 de julio de 2014

Compilación en paralelo con AxBuild.exe para AX 2012 R2

En este artículo se describe como la nueva utilidad de AXBuild.exe disponible en Cumulative Update 7 (CU7), se usa para incrementar la velocidad de compilación de Microsoft Dynamics AX2012 R2.

Para aplicar Cumulative Update 7 para Microsoft Dynamics AX2012 R2, podéis acceder desde el siguiente link: