En este post vamos a ver lo básico de los reportes:
1. Verificar instalación
2. Editar reportes
3. Crear reportes (AutoDesing)
Antes de crear reportes SQL Reporting Services (SSRS) con Dynamics, lo primero es tener instalados los componentes de BI y Visual Studio Tools. Esto se realiza cuando se instala Ax como se muestra en la siguiente pantalla.
Para verificar que se instalaron correctamente los BI Componentes y el Visual Studio tool, y que el servidor de reporte esta correctamente configurado debemos ir a Herramientas -> Herramientas BI -> Servidores de reportes. Nos debe mostrar la siguiente pantalla:
Aquí debemos verificar que los valores estén llenos y que el nombre del servidor sea el de nuestra maquina.
Una vez hecho esto, cuando abramos el visual studio 2010 y creemos un nuevo proyecto, nos debe aparecer el tipo de proyecto: Microsoft Dynamics AX. No se necesita un tools adicional o librería adicional, simplemente con que hayamos hecho lo de los párrafos de arriba ya Visual Studio se integra con AX.
Editar reportes SSRS
Lo primero que vamos a ver es cómo editar un reporte existente.
Vamos al AOT de Ax -> Visual Studio Projects -> Dynamics AX Model Projects. En este nodo vamos a encontrar soluciones de visual studio y proyectosque han sido desarrollados usando claro visual studio.
Para editar una solución de las que tenemos en el nodo de Dynamics AX Model, hacemos clic derecho en el que queramos modificar y seleccionamos "Editar". Esto abre el Visual Studio con esa solución y los reportes que contenga.
Después de hacer las modificaciones en el proyecto, guardamos, compilamos y seleccionamos el proyecto en el explorador de solución, clic derecho sobre el proyecto, seleccionamos la opción "Implementar" y esto agregará los cambios en Dynamics.
Si no se vieran reflejados, solo hacemos clic en "actualizar" y después en compilar el elemento en el AOT y listo.
Importante: Cuando estamos modificando un reporte en Visual Studio, debemos tener cuidado con la opción "Delete" del menú emergente cuando hacemos clic derecho sobre el reporte. Si hacemos clic en esta opción el reporte sera borrado el AOT de la capa actual donde el usuario este loggeado, si este reporte existe en capas mas bajas lo que pasara es que este reporte sera reestablecido a la capa previa. Ojo con esta opción, esa opción "Delete" NO solo es borrarlo del proyecto de visual studio. Para esto, mejor ocupen "Excluir del proyecto".
Crea reportes SSRS con Query
Para crear un reporte, abrimos Visual Studio 2010 y seleccionamos "nuevo proyecto", en el tipo seleccionamos "Microsoft Dynamics Ax" y en la plantilla seleccionamos "Report Model".
Los reportes necesitan una fuente de datos (datasource), esta puede ser de tres tipos:
- Query
- RDP (report data provider)
- Business logic
Cuando se usa un query como datasource para el reporte SSRS entonces el reporte es llamado "query based report".
Ahora, veamos cómo se hace un reporte basado en Query.
Antes que otra cosa, necesitamos un query creado. Para este ejemplo, vamos a mostrar todos los registros de la tabla CustTable, que es la tabla de clientes de Ax.
Para crear el query, en el AOT, en la división de "query" hacemos clic derecho y seleccionamos "nuevo query", le ponemos nombre, en este caso "QueryEjemplo".
Arrastramos al DataSources del query la tabla CustTable. Con esto incluimos todos los campos de la CustTable al query. Y en la propiedad "Dynamic" de los campos lo cambiamos a "yes", esto es para que se agreguen al query todos los campos de la tabla CustTable.
Abrimos Visual Studio -> nuevo proyecto -> microsoft dynamics Ax -> Report Model. Con el nombre: PruebaReporteSSR
La solución del proyecto se verá así:
Esto solo nos da el tipo de solución, ahora necesitamos agregar un nuevo reporte, clic derecho sobre la solución y seleccionamos "agregar" y luego "nuevo reporte", le damos nombre y nuestra solución debe verse así:
Nota: Se pueden agregar cuantos reportes necesitemos, ya que cada reporte agregado en VS es un reporte en el AOT, así que pongamos nombres mas específicos que yo uso para el ejemplo.
Hacemos doble clic sobre el reporte creado y veremos los elementos del reporte del lado izquierdo.
Los elementos que se muestran son:
Datasets: Todos los campos disponibles en el query que podemos referenciar en el reporte.
Designs: El diseño mismo del reporte.
Images: Cualquier imagen que queramos mostrar en el reporte.
Data Methods: logica de negocio escrita en C#. Esto no es muy recomendado.
Parameters: Parametros que serán vistos en el reporte o para filtros de usuario para el reporte.
Ahora, necesitamos referenciar el query que creamos dentro del AOT de dynamics. Para esto, hacemos clic derecho en "DataSets" y "Add Dataset". Le podemos cambiar el nombre como queramos.
Y en las propiedades del DataSet creado, esta la propiedad "Query", hacemos clic ahi y nos aparece una ventana con todos los querys.
Hacemos clic en "Next" y seleccionamos lo que queramos mostrar en el reporte "All fields", "All Field Group", "All Display Methods". Podemos seleccionar todos los campos, un grupo de campos especifico y algunos metodos display.
Ahora viene lo bueno... el diseño!!!!!! En el nodo de Designs clic derecho "Add", existen dos opciones, "Auto Design" y "Precision Design", el primero es si solo quieres un reporte rápido, sin diseño personalizado.
Por el contrario, si quieres darle forma tu mism@ elegimos "Precision". Vamos a irnos PRIMERO por Auto Design y después por el tipo de Precision.
Como en todo lo anterior, podemos renombrarlo. Se recomienda que sea llamado "Report" o "Desing", yo le voy a poner ReporteAutoDesing.
Ahora arrastramos el query hacia nuestro diseño de reporte, en mi caso, hacia ReporteAutoDesing.
Con esta acción, indicamos que todos los campos del query se mostraran en nuestro reporte en el mismo orden que como aparecen en la tabla que se agrego a nuestro diseño al arrastrar el query.
Ahora veamos la vista previa, con click derecho sobre el diseño y "preview"
El reporte va a aparecer comos sigue:
Es recomendable por supuesto filtrar los datos para que la generación del reporte no sea muy tardada. Esta forma es muy sencilla pero como se puede ver es muuuuuy fea porque no tiene ningun diseño, en el reporte solo se escupen los datos sin ningun orden especifico.
Eso de ponerlo bonito lo veremos en el siguiente post. Finalmente, cómo enviarlo hacia Ax para poder usarlo? Sencillo:
1. Guarda todo
2. Compila la solución completa
3. Sobre la solución, clic derecho y "Add tuSolucion to AOT"
4. Igual sobre la solucón, clic derecho y "Deploy" o "Implementar"
5. Listo!!!! ya esta en el AOT para que lo uses
Y en Ax veriamos en al AOT:
Cómo ver el reporte en Ax?, una forma es desde el servidor de reportes, o sea http://localhost/Reports, otra forma es crear un Output con el reporte y visualizarlo y la última es llamarlo desde código con x++.
Después veremos cómo usar parametros y un diseño personalizado (PrecisionDesing) y no el automático que propone Ax.
Aquí te puedes descargar el proyecto de Ax: http://adf.ly/tTIrL
Y aquí la explicación en video ya disponible en YouTube: http://adf.ly/tTLXc
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.
Y por cierto, acuerdate de darle click a algún anuncio si el post te sirvio de algo.
<<<<< Indice de tutorial de Reportes SSRS....
Aquí te puedes descargar el proyecto de Ax: http://adf.ly/tTIrL
Y aquí la explicación en video ya disponible en YouTube: http://adf.ly/tTLXc
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.
Y por cierto, acuerdate de darle click a algún anuncio si el post te sirvio de algo.
<<<<< Indice de tutorial de Reportes SSRS....












