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 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
No hay comentarios:
Publicar un comentario