1.Creando un informe simple

Creación de un informe utilizando un Query como DataSource con un diseño automático.


Vamos a empezar este blog explicando cómo crear informes en AX2012 ya que la gran mayoría desconoce la nueva manera de trabajar.

Existen muchas maneras de crear los informes. Intentaré ir explicando todos los secretos que esconden los nuevos informes de Ax.


Creando la query.

Para empezar crearemos una query desde el nodo queries del AOT.

Para los que tenga conocimientos de cómo crear una query se puede saltar esta parte.


Presionaremos con el botón derecho del ratón sobre la query y en el menú desplegable seleccionaremos "propiedades"



Cambiaremos el nombre a la query por uno más adecuado.


El siguiente paso será añadir una fuente de datos (dataSource) a nuestra query.
Para ello, arrastraremos la tabla inventTable al nodo datasource de nuestra query.


Una vez añadida la tabla, desplegaremos los subnodos del datasource.Observaremos que el nodo fields está vacío.
Presionamos botón derecho en el nodo fields para que nos aparezca el menuContextual y nos dirigimos a las propiedades de los fields.


Podemos seleccionar entre las siguientes opciones:



Si queremos que se añadan todos los campos de la inventTable seleccionaremos "yes".
En nuestro caso, lo dejaremos a "no" y arrastraremos los campos que nos interesan directamente desde la tabla inventTable.


Una vez creada la query podemos empezar con el informe.


Creando el informe

Abriremos visual studio y crearemos un nuevo proyecto.


Buscaremos la plantilla de Microsoft Dynamics y seleccionaremos Report Model.
Asignaremos un nombre que será el del proyecto de Visual y el que se verá en los proyectos de Visual en Ax.



Un vez demos a aceptar tendremos nuestros proyecto vacío en el explorador de soluciones de visual.


El siguiente paso será agregar un report a nuestro proyecto de visual. Para ello presionaremos con el botón derecho del ratón sobre el proyecto >> add >> Report


De no haber tenido ningún problema ya tendremos nuestro report creado, eso sí, vacío.


A continuación daremos un nombre al report y un título, todo esto desde la ventana de propiedades.


Ahora ya tenemos nuestro report pero nos faltará la fuente de datos(DataSource).

Para eso debemos agregar un dataset al informe.

Botón derecho del ratón > add Dataset


Ahora tenemos un dataset pero éste no tiene constancia de donde sale la información si no se le indica.


Para proceder a eso debemos fijarnos en las propiedades del dataset.

(De momento solo vamos a explicar lo básico)

DataSource: Dynamic AX
DataSourceType: Query
Name: Nombre que asignaremos a nuestro DataSet, yo por defecto siempre le pongo el nombre de la tabla original con el sufijo DS. (InventTableDS)
Query: De donde salen los datos del report.

En el tipo de dataSource le indicaremos que es una query y en la propiedad query le indicaremos que query es la que nos devolverá los datos, en nuestro caso es la query creada anteriormente.

Para poder abrir todas las querys existentes en Ax presionaremos el pequeño botón que se habilita al situarnos encima de la propiedad query.



En el formulario emergente seleccionaremos la query.


Presionamos el botón next.

Nota: Si vuestra query no aparece en el formulario es posible que este mal configurado el bussiness conector.

Aquí deberemos seleccionar los campos que queremos que aparezcan en nuestro dataset, como previamente ya habíamos seleccionado en la query los que deseamos los seleccionaremos todos.


Si a posteriori se desea seleccionar más campos agregados en la query tan sólo deberemos repetir los pasos desde que seleccionamos la query en las propiedades.

Si todo a ido bien deberíais ver los campos en el dataset.


Tenemos un informe con una fuente de datos, ahora sólo nos falta el diseño.


Creando un Diseño automático.

Para los que hayáis trabajado con versiones anteriores de ax esto os será familiar, para los no experimentados os informo que es una forma de hacer un diseño básico sin tener que "currárselo" mucho.

Bien empezaremos agregando un diseño automático.

Botón derecho en el nodo Designs >> Add >> Auto Design


Le cambiaremos el nombre al diseño automático por Report.

Veremos algunas de las propiedades que tiene el diseño.

Seleccionaremos un layout template.

Básicamente para los que no lo conocéis los templates son plantillas que existen en axapta, normalmente encabezados de informe que asignando una nos ahorraremos tener que crear la típica cabecera de los informes de ax.


Si ninguna os resulta válida siempre podéis crear una plantilla para todos vuestro informes.


Ahora sólo nos queda por decidir que tipo de informe será.
Para éste ejemplo haremos algo simple. Seleccionaremos un diseño tipo tabla.

Botón derecho del ratón en el nodo del autoDesign >> Add >> Table


Una vez agregada nuestra tabla procederemos a cambiar las siguientes propiedades.

Name: InventTableTable  ^^
Style Template: Se puede dejar en blanco.

Si nos interesa que nuestras líneas tengan un 'efecto especial', en este caso, he seleccionado uno que coloreará el fondo de las líneas de forma alterna.

Title: Mejor rellenarlo porqué sino se os mostrará el nombre de vuestro dataset en el informe. (InventTableDS).

No he explicado que no es buena idea meter el texto de los títulos sin etiquetas, sería mejor utilizarlas. Pero esto lo dejaremos para más adelante.


En la propiedad DataSet podemos escribir el nombre del DataSet del que obtendremos los campos que se agregaran al nodo Data. Pero si lo hacéis así se agregarán todos los campos del dataset al nodo Data.


En caso de no asignar dataSet podemos agregar los campos de las siguientes maneras:


Lo podemos hacer como se ve en la imagen anterior.
O mejor como preferimos nosotros. Los seleccionamos y los arrastramos al nodo Data.



Una vez aquí, ya tenemos nuestro informe finalizado.

"¿No ha sido tan difícil, no?"

Y ahora, ¿Cómo vemos si ha quedado bien?
Si nos situamos encima del diseño que hemos creado se nos activa el botón preview.


En la pestaña de preview seleccionaremos la subpestaña Report.

Al fin, aquí tenemos nuestra "obra de arte".


Parece que hay muchas cosas que no le he metido en el report.

Miremos un poco como esta estructurado.

En la parte superior tenemos una cabecera y en la parte inferior un body, en este caso no hay ningún footer(pie de pagina).

En la cabecera podemos ver el nombre que le hemos asignado a nuestro informe.
Y debajo de éste el nombre de nuestro DataSet, esto pasa cuando no sé ha dado un nombre. Siempre podemos ir a las propiedades del Dataset y borrarle la propiedad title que visual le ha puesto por defecto o asignarle un nombre.
Y en la parte derecha de nuestro encabezado tenemos el número de páginas del informe y la fecha/hora del lanzamiento del report.

¿Y de donde ha salido todo esto?
De la propiedad Layout Template. Por eso os comentaba que mejor ponerle una, sino se deberá hacer una cabecera.

En el body ningún secreto, estan nuestras dos columnas, si acaso observad como visual colorea las filas, esto es gracias a que le hemos puesto un styleTemplate al diseño.

Bien, aquí acaba el primer post sobre como crear un informe con query en ax2012, espero que os haya servido de ayuda.

Comentarios

  1. Xavi, muy bien explicado, lo dejas todo muy claro. Felicidades por la iniciativa.

    ResponderEliminar
  2. Muy buen articulo, pero realmente estoy muy decepcionado con Dynamic, si para crear un Reporte tengo que hacer todo eso para que lo quiero si directamente lo puedo hacer desde SQL server con BI, Tanta vueltas tiene Dynamics, crei que por su Grandeza era ubicar simples Objetos (Como lo llaman los vendedores ) y voalá Reporte Listo y YA.

    ResponderEliminar
    Respuestas
    1. Muchas gracias por leer mi post.
      Realmente con esta nueva versión de Ax los reports se han vuelto un poco complicados, pero es simple práctica y le cogerás el truco.
      Te recomiendo que sigas todos los ejemplos para entender su funcionamiento.

      Eliminar

Publicar un comentario