Sie sind auf Seite 1von 38

Capítulo 10: Informes

CAPÍTULO 10: INFORMES

Objetivos

Los objetivos son:

Explicar las capacidades de informes de SQL Server Reporting Services en Microsoft Dynamics AX 2012.

Explicar las características agregadas a las herramientas de informes de Visual Studio para Microsoft Dynamics ® AX 2012.

Introducción

SQL Server Reporting Services es la plataforma principal de informes de Microsoft Dynamics AX 2012. Los informes predeterminados y predefinidos que se proporcionan con Microsoft Dynamics AX se ejecutan en la plataforma de Reporting Services y proporcionan a los usuarios informes más atractivos, un mayor número de formatos de exportación y un diseñador de informes con más capacidades. Entre los objetivos de esta transición se incluyen:

Usar la pila de tecnología de Microsoft.

Mantener la lógica empresarial en Microsoft Dynamics AX.

Facilitar la transición para los programadores de X++ y C# hacia la nueva arquitectura de informes.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

Información general

Nueva arquitectura de informes

La arquitectura de SQL Server Reporting Services en Microsoft Dynamics AX 2012 se ha modificado para seguir una variación de patrón de diseño de controlador de vista de modelos (MVC). Esta arquitectura permite a varios tipos de cliente diferentes invocar informes de Microsoft Dynamics AX 2012 Reporting Services, entre los que se incluyen: clientes de Microsoft Dynamics AX, Enterprise Portal y trabajo por lotes. Esto también significa que Reporting Services puede sustituirse por otra aplicación para el procesamiento de informes.

ILUSTRACIÓN 10.1 ARQUITECTURA DE REPORTING SERVICES
ILUSTRACIÓN 10.1 ARQUITECTURA DE REPORTING SERVICES

NOTA : los informes de Microsoft Dynamics AX 2012 requieren SQL Server

2008.

Instalación e implementación

Para instalar los componentes de informes en Microsoft Dynamics AX 2009, había que instalar las extensiones de informes al ejecutar el asistente para la instalación. En Microsoft Dynamics AX 2012, el asistente para la instalación ha cambiado; ya no incluye una opción para instalar las extensiones de informes.

Capítulo 10: Informes

Cuando ejecute el asistente para la instalación de Microsoft Dynamics AX 2012, puede instalar los componentes de Business Intelligence. Durante la instalación de los componentes de Business Intelligence, el asistente para la instalación realizará lo siguiente:

Comprobar que se han instalado los requisitos previos de software en el servidor.

Solicitará que seleccione una instancia de SQL Server Reporting Services.

Solicitará que seleccione una instancia de SQL Server Analysis Services.

Para la implementación de informes, el formulario de implementación de proyectos de informes de Microsoft Dynamics AX 2009 se reemplaza con scripts de PowerShell.

Consideraciones para la actualización

Los informes y cubos no se actualizan a Microsoft Dynamics AX 2012.

El marco de informes de X++ se hace obsoleto en Microsoft Dynamics AX 2012. Los informes basados en el marco de informes de X++ y los informes existentes de SQL Server Reporting Services se copiarán en el sistema de Microsoft Dynamics AX 2012, pero no se actualizarán. Se recomienda usar un informe de SQL Server Reporting Services que se proporciona con Microsoft Dynamics AX 2012 como plantilla y personalizar éste para satisfacer las necesidades del usuario.

Configuración

Anteriormente, podía usar el marco de X++ para modificar las consultas que se usaban para recuperar datos de informes. En Microsoft Dynamics AX 2012, el marco de Reporting Services se ha actualizado y usa la misma funcionalidad. Esto significa que ahora puede filtrar y ordenar los datos en los informes de Reporting Services.

Informes automáticos

En Microsoft Dynamics AX 2009, podía usar el Asistente para informes automáticos para crear informes ad hoc personalizados. Estos informes se basaban en el marco de informes de X++. Con Microsoft Dynamics AX 2012, puede usar al Asistente para informes automáticos para crear informes ad hoc personalizados que se basan en el marco de SQL Server Reporting Services. Para iniciar el Asistente para informes automáticos, haga clic en el icono Print de un formulario.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

Compatibilidad con lotes

Los informes de SQL Server Reporting Services en Microsoft Dynamics AX 2012 ahora pueden integrarse con el marco de lotes de Microsoft Dynamics AX. Esto permite realizar lo siguiente:

Programar un informe de larga duración para su impresión durante horarios fuera de las horas pico.

Programar un informe que se imprimirá periódicamente.

Elementos web de informe

Se ha actualizado el elemento web que se usa para mostrar informes en las áreas de trabajo y otras páginas de Enterprise Portal. El nombre de este elemento web ha cambiado de Informe de Microsoft Dynamics Report Server a Informe de Microsoft Dynamics AX. Además, el elemento web se ha actualizado para mejorar la capacidad de uso. Ahora es más fácil realizar lo siguiente:

Agregar el elemento web a una página.

Seleccionar un informe para mostrarlo en el elemento web.

Seleccionar parámetros para filtrar los datos que se muestran en el informe.

Compatibilidad mejorada para varios idiomas

Para admitir varios idiomas en Microsoft Dynamics AX 2009, se debía implementar un informe en cada idioma específico. En Microsoft Dynamics AX 2012, puede implementar el informe y esa versión reflejará automáticamente todos los idiomas admitidos.

Información de desarrollo

Se agregaron las siguientes características a las herramientas de informes de Visual Studio para Microsoft Dynamics AX 2012.

Enlace de datos

Las herramientas de informes de Visual Studio para Microsoft Dynamics AX se han mejorado para facilitar el enlace de datos y poder generar informes más detallados.

La interfaz IEnumerable<DataRow> ahora se admite como tipo de valor de devolución del método de datos. Con la adición del método AxQuery.ExecuteQueryStream, ahora puede ejecutar una consulta y devolver una tabla de datos con los resultados dados.

Capítulo 10: Informes

De manera predeterminada, la vista previa de informes ahora limitará la devolución de datos a 1.000 registros de datos. Esto mejora la eficacia del procesamiento de grandes cantidades de datos para la vista previa. Para ver todos los datos en la vista previa de un informe, en la ventana de vista previa, haga clic en el vínculo Load data sets fully.

La solución de SQL Reporting Services para Microsoft Dynamics AX 2012 incluye un nuevo tipo de origen de datos llamado proveedor de datos de informe (RDP) que puede usar para generar informes con datos de una clase X++ como origen. Puede crear la lógica empresarial personalizada que se procesará en los informes mediante clases X++ predefinidas. Además, puede enlazar elementos de parámetros a las expresiones del lenguaje de definición de informe (RDL) mediante el editor de expresiones.

Mejoras en los parámetros

Entre las mejoras adicionales en los parámetros se incluyen:

Referencia a un parámetro de informe desde un conjunto de datos. Es posible enlazar varios parámetros de conjunto de datos en un único parámetro de informe.

Uso del editor de expresiones para especificar expresiones en un parámetro de informe.

Uso de la evaluación de la expresión de etiqueta en la vista previa de los informes de Visual Studio.

Control de excepciones de los parámetros compatible con la vista previa de informes.

Incorporación de lógica adicional a los parámetros para detectar las dependencias de parámetro en expresiones complejas de parámetros.

Agrupamiento y ordenación de los parámetros de informe para activar una jerarquía multinivel de parámetros.

Compatibilidad con la selección de parámetros de varios valores para cadenas y enumeraciones.

Mejoras en los informes diseñados automáticamente

El estilo azul para los vínculos de detalles está predefinido en las plantillas predeterminadas de estilo de diseño de tablas, listas y regiones de datos de matriz en los informes diseñados automáticamente. Los cambios en las etiquetas se reflejarán en los informes que las usan, sin tener que modificar los informes. Los cambios se reflejan tan pronto se vuelvan a implementar los informes.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

Ahora puede establecer el valor de eje del gráfico. Se admiten las siguientes dos opciones:

En un informe de gráfico de columnas, los ejes X e Y del gráfico pueden establecerse en 0, independientemente de lo que contengan los datos. Por ejemplo, incluso si los datos están entre 30 y 100, el eje Y del gráfico aún podría establecerse en 0.

Posibilidad de que los valores inicial y final de un informe de gráfico de columnas coincidan automáticamente con los datos.

Los valores que se especifiquen en todas las sesiones de Visual Studio se almacenarán y la función de relleno automático se activará. Las herramientas de informes de Visual Studio para Microsoft Dynamics AX recuperarán los distintos valores especificados en un cuadro de texto concreto. Una propiedad denominada Render Grand Total se ha agregado a las tablas de diseño automático. Si la propiedad se establece en True, el informe calculará y mostrará los totales finales en función del tipo de agregación seleccionado. También puede personalizar o desactivar la leyenda de resumen de informe en los informes de diseño automático sin tener que especificar una línea de código. Toda la solución se puede administrar mediante las propiedades de diseño de informe.

Un usuario final puede usar la ordenación interactiva en tiempo de ejecución para ordenar columnas en el informe diseñado automáticamente. Esto difiere de la ordenación estática en la que se genera un orden de clasificación específico en el informe en el momento de la creación de éste. En la ordenación interactiva, el usuario final puede ordenar según la columna A y, a continuación, cambiar la ordenación según la columna B.

Ahora puede usar grupos de campos de Microsoft Dynamics AX en los informes diseñados automáticamente. Las listas y tablas admitirán grupos de campos enlazados y no enlazados en las regiones de datos de lista y tabla. Los grupos de campos también pueden agregarse a informes diseñados automáticamente mediante el agrupamiento de encabezados y pies de página. Para reflejar un cambio en los grupos de campos, se debe volver a implementar el informe. Puede usar grupos de campos para personalizar las columnas que se mostrarán en el informe. Por ejemplo, puede agregar el grupo de campos Address a un informe en lugar de agregar los campos individuales Address, City, State y ZIP/postal code. Asimismo, puede agregar o quitar campos del grupo de campos de la tabla y hacer que los cambios se muestren en todos los formularios e informes que usan dicho grupo.

Capítulo 10: Informes

Administración de impresión

Microsoft Dynamics está integrado con la administración de impresión de Windows para imprimir informes de Visual Studio, por lo que ahora se puede realizar lo siguiente:

Cambiar el destino de impresión mediante programación

Empaquetar y desempaquetar los destinos de impresión

Usar la funcionalidad de correo electrónico y archivos

Pasar parámetros

La interfaz de usuario de ejecución y los parámetros de informes de MorphX se agregaron a las herramientas de informes de Visual Studio para Microsoft Dynamics AX.

Compatibilidad con la API de administración de impresión

Ahora se admiten las interfaces de programación de aplicación (API) que requiere la administración de impresión de Microsoft Dynamics AX. Estas API, junto con los formularios agregados, ayudan a los usuarios finales a ejecutar informes en distintos formatos y también ayuda a los programadores a administrar y ejecutar informes.

Herramienta de referencia cruzada

Puede usar el sistema de referencia cruzada de Microsoft Dynamics AX para ver las relaciones entre objetos. La herramienta de referencia cruzada se ha actualizado para que funcione con los informes. Al igual que cualquier otro objeto en el AOT, puede hacer clic con el botón secundario en Report -> Add- ins -> Cross-reference tool -> Using y se mostrará el origen de datos. También puede seleccionar un origen de datos, tal como una consulta en el AOT, y seleccionar Used By para mostrar el o los informes que lo usan.

Seguridad

Los informes están completamente integrados en el sistema de seguridad de Microsoft Dynamics AX. Al proteger los datos que usan tareas y roles, los informes aplican automáticamente el mismo nivel de seguridad.

Acceso a datos

Los informes ahora usan servicios en lugar de .NET Business Connector para recuperar datos de procesamiento de transacciones en línea (OLTP) de Microsoft Dynamics AX. El proveedor de datos de informe facilita la reutilización de código X++ existente con el fin de acceder a los datos para los informes de Microsoft Dynamics AX. También se ha mejorado el rendimiento y la escalabilidad.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

Otras mejoras

Entre otras mejoras se incluye lo siguiente:

Los informes de Visual Studio para Microsoft Dynamics AX se pueden ejecutar y administrar mediante programación desde X++.

Los informes basados en SQL Server Reporting Services en Microsoft Dynamics AX 2012 hacen uso de los metadatos definidos en los tipos de datos extendidos (EDT). Las columnas de informe enlazadas a un EDT reflejarán la información de formato y diseño definida en Microsoft Dynamics AX.

Las dimensiones financieras de Microsoft Dynamics AX pueden incluirse en los informes de Microsoft SQL Server Reporting Services a través del selector de consultas que se ha mejorado.

Las etiquetas de Microsoft Dynamics AX pueden usarse en los informes.

Se puede crear un informe que cambiará su formato automáticamente en tiempo de ejecución de izquierda a derecha, de derecha a izquierda y según el idioma y las nuevas propiedades establecidas para el mismo.

AXRDCE es una extensión de informes específica de Microsoft Dynamics AX que se basa en la extensión de informes RDCE de SQL Server Reporting Services para ofrecer una transformación de tiempo de ejecución del informe. AXRDCE proporciona varias características, tales como formato EDT, alineación, longitud de visualización, seguridad y traducción de etiquetas.

Los usuarios finales pueden filtrar datos dinámicamente en sus informes en cualquier campo que forme parte de su origen de datos en tiempo de ejecución, sin tener que crear un parámetro estático en el momento de diseño.

Escenario: creación de un informe sencillo

Isaac, el programador, desea crear un informe de Reporting Services para exponer datos de transacción de proveedor.

Procedimiento: creación de un informe sencillo

Para definir una consulta que se usará en un informe de consulta enlazada, siga estos pasos:

1. Abra el espacio de trabajo de programador de Microsoft Dynamics AX.

2. En el AOT, haga clic con el botón secundario en el nodo Queries y seleccione New Query.

3. Seleccione el nodo para la consulta y escriba un nombre.

4. Expanda el nodo de consulta nueva.

Capítulo 10: Informes

5. Haga clic con el botón secundario en el nodo Data Sources y seleccione New Data Source.

6. Escriba VendTrans en el campo de propiedad Table.

7. Guarde la consulta.

8. Expanda el nodo Datasets.

9. Haga clic con el botón secundario en el nodo fields de la consulta y seleccione Properties.

10. Cambie la propiedad Dynamic y establezca la propiedad Dynamic en No para que los campos puedan quitarse de la vista.

11. Quite los campos que no desee incluir del origen de datos de consulta.

12. Guarde la consulta.

Procedimiento: creación de un nuevo informe en Visual Studio

Para crear un nuevo informe en Visual Studio, siga estos pasos:

1. En el menú File de Visual Studio, elija New y haga clic en Project. Aparece el cuadro de diálogo New Project.

2. Haga clic en el nodo Microsoft Dynamics AX y en el panel Templates, haga clic en Report Model.

3. En el cuadro Name, escriba un nombre y en el cuadro Location, escriba una ruta de acceso de archivo. A continuación, haga clic en OK.

4. En el explorador de soluciones, haga clic con el botón secundario en el nodo del informe y seleccione Add -> Report.

5. Se crea un modelo de informe vacío denominado Report1.

6. En el editor de modelos, haga clic con el botón secundario en el nodo Report1, seleccione Rename y especifique un nombre.

7. Expanda el nodo del informe si todavía no está expandido.

8. Haga clic con el botón secundario en el nodo Datasets y seleccione Add Dataset.

9. En la ventana Properties, especifique los valores si

10. Establezca la propiedad Data Source en AX Dynamics.

11. Establezca la propiedad Data Source Type en Query.

12. Establezca la propiedad Name.

13. Establezca la propiedad Query.

14. En el editor de modelos, seleccione el nodo de origen de datos y arrástrelo hacia el nodo Designs. Se crea un diseño automático denominado AutoDesign1.

15. Haga clic con el botón secundario en el nodo AutoDesign1, seleccione Preview y elija la pestaña Report.

16. Observe que el informe aparece sin formato, ya que aún no se le ha aplicado ninguna plantilla de diseño o estilo.

17. Cierre la ventana Preview.

guientes.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

Procedimiento: aplicación de plantillas de diseño

Para aplicar una plantilla de diseño, siga estos pasos:

1. En el editor de modelos, seleccione el nodo AutoDesign1.

2. En la ventana Properties, establezca la propiedad Layout Template en ReportLayoutStyleTemplate. Escriba un nombre en la propiedad Title.

3. En el editor de modelos, expanda el nodo AutoDesign1 y seleccione el nodo para la región de datos de la tabla.

4. En la ventana Properties, establezca la propiedad Style Template en TableStyleTemplate.

5. Opcional: en el editor de modelos, haga clic con el botón secundario en el nodo AutoDesign1, seleccione Preview y elija la pestaña Report para ver la nueva configuración de estilo del informe.

6. Opcional: cierre la ventana Preview.

Procedimiento: adición de ordenación de columnas

Para agregar la ordenación de columnas a un informe de diseño automático, siga estos pasos:

1. En el editor de modelos, expanda el nodo AutoDesign1 y la región de datos de tabla. A continuación, seleccione el nodo Sorting situado debajo de la región de datos de la tabla.

2. Haga clic con el botón secundario en el nodo Sorting y seleccione Add Sort.

3. Escriba un nombre para el nodo Sorting.

4. En la ventana Properties, establezca la propiedad Sort By.

5. Opcional: en el editor de modelos, haga clic con el botón secundario en el nodo AutoDesign1 y seleccione Preview para ver la nueva configuración de estilo del informe.

6. Opcional: cierre la ventana Preview.

7. Guarde el informe.

8. En el editor de modelos, expanda el nodo AutoDesign1 y seleccione el campo de ordenación en la región Data.

9. En la ventana Properties, establezca la propiedad Interactive sorting en True.

10. Repita este paso para las otras columnas de ordenación.

11. Opcional: en el editor de modelos, haga clic con el botón secundario en el nodo AutoDesign1 y seleccione Preview para ver la nueva configuración de estilo del informe.

12. Opcional: cierre la ventana Preview.

13. Guarde el informe.

Capítulo 10: Informes

Procedimiento: agrupamiento de datos de informe

Para agrupar datos de informe, siga estos pasos:

1. En el editor de modelos, expanda el nodo AutoDesign1.

2. Haga clic con el botón secundario en el nodo Groupings en la región de datos de tabla y seleccione Add Grouping.

3. Escriba "Group1" en Name.

4. En la ventana Properties, establezca la propiedad Label.

5. Haga clic con el botón secundario en el nodo Group on y seleccione Add Group on.

6. Escriba un nombre para el nodo Group on.

7. En la ventana Properties, establezca la propiedad Expression.

8. Seleccione el nodo Group1.

9. En la ventana Properties, expanda Instance Aggregates y establezca Render Location en GroupFooter.

10. Seleccione el campo para el agregado en el nodo Data.

11. En la ventana Properties, expanda el elemento Aggregation y establezca Aggregate Function en Sum.

12. Opcional: en el editor de modelos, seleccione el nodo AutoDesign1 y haga clic en Preview para ver la nueva configuración de estilo del informe.

13. Cierre la ventana Preview.

Procedimiento: filtrado de datos de informe

Para filtrar los datos del informe, siga estos pasos:

1. En el AOT, haga clic con el botón secundario en el nodo Queries y busque la consulta.

2. Haga clic con el botón secundario en el nodo Ranges y seleccione New Range.

3. Microsoft Dynamics AX crea un intervalo predeterminado.

4. Guarde la consulta.

5. En el editor de modelos, seleccione el nodo de tabla.

6. Haga clic con el botón secundario en el nodo y seleccione Refresh para reflejar los cambios realizados en la consulta de Microsoft Dynamics AX.

7. Expanda el nodo Parameters para mostrar la lista de parámetros de informe.

8. Haga clic con el botón secundario en el nodo y seleccione Add->Parameter.

9. Escriba un nombre en Parameter.

10. En la ventana Properties, establezca la propiedad Prompt String en el campo de filtro.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

11. En el editor de modelos, expanda el nodo AutoDesign1.

12. Haga clic con el botón secundario en el nodo Filters y seleccione Add Filter.

13. Escriba un nombre en Filter.

14. En la ventana Properties:

a. Establezca la propiedad Expression.

b. Establezca la propiedad Operator en Like.

c. Establezca la propiedad Value.

15. Opcional: en el editor de modelos, seleccione el nodo AutoDesign1 y haga clic en Preview para ver la nueva configuración de estilo del

informe.

16. Cierre la ventana Preview.

17. Guarde el informe.

Procedimiento: adición de un parámetro dinámico

Para agregar un parámetro dinámico, siga estos pasos:

1. Cree una nueva Query.

2. Localice la tabla y arrástrela hacia el nodo Data Sources.

3. Incluya el campo para el parámetro en la vista de conjunto de datos.

4. En el editor de modelos, haga clic con el botón secundario en el nodo Datasets y seleccione Add Dataset.

5. Escriba un nombre para el nodo Datasets.

6. Seleccione el nodo para el conjunto de datos.

7. En la ventana Properties, especifique los valores siguientes:

a. Establezca la propiedad Data Source en AX Dynamics.

b. Establezca la propiedad Data Source Type en Query.

c. Establezca la propiedad Default Layout en Table.

d. Establezca la propiedad Name. Establezca la propiedad Query.

8. En el editor de modelos, seleccione el nodo AutoDesign1.

9. Expanda el nodo Parameters para mostrar la lista de parámetros de

informe.

10. En la ventana Properties, haga clic en el botón de la propiedad Values.

11. Seleccione el botón From Dataset y establezca lo siguiente:

a. Establezca la propiedad Dataset.

b. Establezca la propiedad Value Field.

c. Establezca la propiedad Label Field.

Capítulo 10: Informes

12. Opcional: en el editor de modelos, haga clic con el botón secundario en el nodo AutoDesign1 y seleccione Preview para ver la nueva configuración de estilo del informe.

13. Opcional: cierre la ventana Preview.

14. Guarde el informe.

Procedimiento: almacenamiento e implementación del informe

Para guardar e implementar el informe, siga estos pasos:

1. En el explorador de soluciones, haga clic con el botón secundario en el proyecto y seleccione Add to AOT.

2. En el explorador de soluciones, haga clic con el botón secundario en el proyecto y seleccione Deploy.

3. Vaya al administrador de informes para ver el informe.

Procedimiento: visualización del informe en Microsoft Dynamics AX

Para ver el informe en AX, siga estos pasos:

1. En el AOT, expanda el nodo Menu Items y seleccione el nodo Output.

2. Haga clic con el botón secundario en el nodo Output y seleccione New Menu Item.

3. Escriba un nombre para New Menu Item.

4. Haga clic con el botón secundario en el elemento de menú y seleccione Properties para establecer lo siguiente:

a. Establezca la propiedad ObjectType en SSRSReport.

b. Establezca la propiedad Object.

c. Establezca la propiedad Label Field en AutoDesign1.

5. Guarde el elemento Menu.

6. Haga clic con el botón secundario en el elemento de menú y seleccione Open.

7. Seleccione un criterio de filtro y haga clic en OK.

Escenario: creación de un informe avanzado

Isaac, el programador, desea crear un informe de Reporting Services que muestre información acerca del objeto AOT. Isaac debe poder buscar propiedades y el informe deberá devolver los objetos AOT que cumplan los criterios de búsqueda.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

Procedimiento: creación de un informe avanzado

Para crear un informe avanzado, siga estos pasos:

1. Abra Microsoft Dynamics AX.

2. En el AOT, haga clic con el botón secundario en el nodo Tables y seleccione New Table.

3. Haga clic con el botón secundario en el nodo de tabla y seleccione Properties.

4. Busque la propiedad Name y escriba un nombre.

5. Busque la propiedad TableType y escriba InMemory.

6. Expanda el nodo Fields.

7. Haga clic con el botón secundario en el nodo Fields de la tabla y seleccione New -> String.

8. Cree un nuevo campo y asígnele el nombre Node. A continuación, establezca la propiedad ExtendedDataType en Description.

9. Agregue una etiqueta para el nodo de campo.

10. Repita estos pasos para dos campos adicionales.

11. Guarde la tabla.

12. En el AOT, haga clic con el botón secundario en el nodo Classes y seleccione New Class para crear una nueva Contract Class.

13. Haga clic con el botón secundario en el nodo de clase y seleccione Properties.

14. Busque la propiedad Name y escriba un nombre.

15. En el AOT, haga clic con el botón secundario en el nodo Classes y seleccione New Class para crear una nueva Data Provider Class.

16. Haga clic con el botón secundario en el nodo de tabla y seleccione Properties.

17. Busque la propiedad Name y escriba un nombre.

Para crear un nuevo informe en Visual Studio, siga estos pasos:

1. En el menú File de Visual Studio, elija New y haga clic en Project. Aparece el cuadro de diálogo New Project.

2. Haga clic en el nodo Microsoft Dynamics AX y en el panel Templates, haga clic en Report Model.

3. En el cuadro Name, escriba un nombre y en el cuadro Location, escriba una ruta de acceso de archivo. A continuación, haga clic en OK.

4. En el explorador de soluciones, haga clic en el botón Add y seleccione Report.

5. Se crea un modelo de informe vacío denominado Report1.

6. Haga clic con el botón secundario en el informe recién creado y cambie el nombre del modelo de informe.

7. Expanda el nodo del modelo si todavía no está expandido.

Capítulo 10: Informes

8. Haga clic con el botón secundario en el nodo Datasets y seleccione Add Dataset.

9. En la ventana Properties, especifique los valores siguientes:

a. Establezca la propiedad Data Source en AX Dynamics.

b. Establezca la propiedad Data Source Type en Report Data Provider.

c. Establezca la propiedad Default Layout en Table.

d. Establezca las propiedades Name y Query.

10. En el editor de modelos, seleccione el nodo Datasource y arrástrelo hacia el nodo Designs. Se crea un diseño automático denominado

AutoDesign1.

11. Haga clic con el botón secundario en el nodo AutoDesign1 y seleccione Preview.

12. Establezca las propiedades LayoutTemplate y TableStyleTemplate para ver la configuración visual del informe.

13. Agrupe el conjunto de datos del informe.

14. Haga clic con el botón secundario en AutoDesign1 y seleccione Create Precision Design.

15. Haga clic con el botón secundario en el nodo PrecisionDesign, seleccione Rename y establezca el nombre en Report.

Para guardar e implementar el informe, siga estos pasos:

1. En el explorador de soluciones, haga clic con el botón secundario en el proyecto y seleccione Rebuild.

2. Compruebe que no hay errores de generación.

3. En el explorador de soluciones, haga clic con el botón secundario en el proyecto y seleccione Add to AOT.

4. Compruebe que puede agregar elementos al AOT.

5. En el explorador de soluciones, haga clic con el botón secundario en el proyecto y seleccione Deploy.

6. Compruebe que puede agregar elementos al AOT.

7. Vaya al administrador de informes para ver el informe.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

Para ver el informe en AX, siga estos pasos:

1. En el AOT, expanda el nodo Menu Items y seleccione el nodo Output.

2. Haga clic con el botón secundario en el nodo Output y seleccione New Menu Item.

3. Escriba un nombre para New Menu Item.

4. Haga clic con el botón secundario en el elemento de menú y seleccione Properties para establecer lo siguiente:

a. Establezca la propiedad ObjectType en SSRSReport.

b. Establezca la propiedad Object.

c. Establezca la propiedad Label Field en AutoDesign1.

5. Guarde el elemento AX Menu.

6. Haga clic con el botón secundario en el elemento de menú y seleccione Open.

Capítulo 10: Informes

Práctica 10.1: Creación de un informe sencillo

Esta práctica se centrará en cómo usar los conceptos básicos para desarrollar informes simples. Entre los temas que se revisarán se incluyen el uso de parámetros de informe de texto sin formato y de consulta enlazada, la ordenación y el filtrado de datos de informe y la aplicación de plantillas de informe para producir vistas uniformes de los datos de Microsoft Dynamics AX.

Escenario

Isaac, el programador, desea crear un informe de Reporting Services para exponer datos de transacción de cliente.

Ejercicios de nivel avanzado: Creación de una consulta AX

Use la información que se proporciona para crear un informe de consulta enlazada que expone los datos de transacción del cliente.

Ejercicios de nivel avanzado: Creación de un nuevo informe en Visual Studio

Use la información que se proporciona para crear un nuevo informe en Visual Studio.

Ejercicios de nivel avanzado: Adición de ordenación y agrupamiento

Use la información que se proporciona para agregar ordenación y agrupamiento al informe.

Ejercicios de nivel avanzado: Filtrado de datos de informe

Use la información que se proporciona para agregar criterios de filtro al informe.

Ejercicios de nivel avanzado: Adición de un parámetro dinámico

Use la información que se proporciona para agregar un parámetro dinámico.

Ejercicios de nivel avanzado: Almacenamiento e implementación

Use la información que se proporciona para guardar e implementar el informe.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

Ejercicios de nivel intermedio

1. Cree una consulta de Microsoft Dynamics AX.

2. Agregue datos de campo a la consulta.

3. Cree un nuevo modelo de informe en Visual Studio.

4. Cree un conjunto de datos de informe.

5. Cree un diseño de informe.

6. Aplique plantillas de estilo.

7. Agregue ordenación y agrupamiento.

8. Filtre los datos de informe.

9. Guarde e implemente el informe.

10. Visualice el informe en Microsoft Dynamics AX 2012.

Paso a paso: Creación de una consulta AX

1. Abra Microsoft Dynamics AX.

2. En el AOT, haga clic con el botón secundario en el nodo Queries y seleccione New Query.

3. Haga clic con el botón secundario en el nodo para la consulta, seleccione Rename y escriba CustTrans_W1.

4. Expanda el nodo CustTrans_W1.

5. Haga clic con el botón secundario en el nodo Data Sources y seleccione New Data Source.

6. Escriba CustTrans en el campo de propiedad Table.

7. Guarde la consulta.

8. Expanda el nodo CustTrans_1 Dataset.

9. Haga clic con el botón secundario en el nodo Fields de la consulta y seleccione Properties.

10. Cambie la propiedad Dynamic y establezca la propiedad Dynamic en No para que los campos puedan quitarse de la vista.

11. Incluya solo los campos siguientes en la vista del conjunto de datos:

AccountNum, AmountCur, TransDate, TransType y Txt.

12. Guarde la consulta.

Paso a paso: Creación de un nuevo informe en Visual Studio

1. Abra Microsoft Visual Studio.

2. En el menú File, elija New y haga clic en Project. Aparece el cuadro de diálogo New Project.

3. En el panel Project Types, haga clic en el nodo Microsoft Dynamics AX y en el panel Templates, haga clic en Report Model.

Capítulo 10: Informes

4. En el cuadro Name, escriba SSRSDemo y en el cuadro Location, escriba una ruta de acceso al archivo.

5. Haga clic en OK.

6. En el explorador de soluciones, haga clic en el botón Add y seleccione Report.

7. Se crea un modelo de informe vacío denominado Report1.

8. En el editor de modelos, haga clic con el botón secundario en el nodo Report1 y seleccione Rename.

9. Escriba CustTransList_WS1 como nombre.

10. Expanda el nodo CustTransList_WS1 si todavía no está expandido.

11. Haga clic con el botón secundario en el nodo Datasets y seleccione Add Dataset.

12. Seleccione el nodo para el conjunto de datos.

13. En la ventana Properties, especifique los valores siguientes:

a. Establezca la propiedad Data Source en AX Dynamics.

b. Establezca la propiedad Data Source Type en Query.

c. Establezca la propiedad Name en CustTransListDS.

d. Establezca la propiedad Query en Select * from

CustTrans_W1.

14. En el editor de modelos, seleccione el nodo CustTransListDS y arrástrelo hacia el nodo Designs. Se crea un diseño automático denominado AutoDesign1 para el informe.

15. Opcional: haga clic con el botón secundario en el nodo AutoDesign1, seleccione Preview y elija la pestaña Report.

16. Opcional: observe que el informe aparece sin formato, ya aún no se le ha aplicado ninguna plantilla de diseño o estilo.

17. Opcional: cierre la ventana Preview.

Paso a paso: Aplicación de plantillas de diseño

1. En el editor de modelos, seleccione el nodo AutoDesign1.

2. En la ventana Properties, establezca la propiedad Layout Template en ReportLayoutStyleTemplate. Además, escriba Customer Transaction List para la propiedad Title.

3. En el editor de modelos, expanda el nodo AutoDesign1 y seleccione el nodo para la región de datos CustTransListTable.

4. En la ventana Properties, establezca la propiedad Style Template en TableStyleTemplate.

5. Opcional: en el editor de modelos, haga clic con el botón secundario en el nodo AutoDesign1, seleccione Preview y elija la pestaña Report para ver la nueva configuración de estilo del informe.

6. Opcional: cierre la ventana Preview.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

Paso a paso: Adición de ordenación de columnas

1. En el editor de modelos, expanda el nodo AutoDesign1 y seleccione el nodo Sorting en la región de datos CustTransListTable.

2. Haga clic con el botón secundario en el nodo Sorting y seleccione Add Sort.

3. Escriba AccountNum como nombre.

4. En la ventana Properties, establezca la propiedad Sort By en =Fields!AccountNum.Value.

5. En el editor de modelos, haga clic con el botón secundario en el nodo AutoDesign1 y seleccione Preview para ver la nueva configuración de estilo del informe.

6. Cierre la ventana Preview.

7. Guarde el informe.

8. En el editor de modelos, expanda el nodo AutoDesign1 y seleccione el campo AccountNum en la región Data.

9. En la ventana Properties, establezca la propiedad Interactive sorting en True.

10. Repita este paso para las columnas AmountCur, TransDate y

TransType1.

11. Opcional: en el editor de modelos, haga clic con el botón secundario en el nodo AutoDesign1 y seleccione Preview para ver la nueva configuración de estilo del informe.

12. Opcional: cierre la ventana Preview.

13. Guarde el informe.

Paso a paso: Agrupamiento de datos de informe

1. En el editor de modelos, expanda el nodo AutoDesign1.

2. Haga clic con el botón secundario en el nodo Groupings en la región de datos CustTransListTable y seleccione Add Grouping.

3. Escriba Group1 como nombre.

4. En la ventana Properties, establezca la propiedad Label en =Fields!AccountNum.Value.

5. Haga clic con el botón secundario en el nodo Group on y seleccione Add Group on.

6. Escriba AccountNum como nombre.

7. En la ventana Properties, establezca la propiedad Expression en =Fields!AccountNum.Value.

8. Haga clic con el botón secundario en el nodo Group1 y seleccione Properties.

9. En la ventana Properties, expanda Instance Aggregates y establezca Render Location en GroupFooter.

10. Seleccione el campo AmountCur en el nodo Data.

Capítulo 10: Informes

11. En la ventana Properties, expanda el elemento Aggregation y establezca Aggregate Function en Sum.

12. Opcional: en el editor de modelos, haga clic con el botón secundario en el nodo AutoDesign1 y seleccione Preview para ver la nueva configuración de estilo del informe.

13. Opcional: cierre la ventana Preview.

Paso a paso: Filtrado de datos de informe

1. Abra Microsoft Dynamics AX.

2. En el AOT, haga clic con el botón secundario en el nodo Queries y busque la consulta CustTrans_WS1.

3. Expanda el nodo CustTrans_W1.

4. Haga clic con el botón secundario en el nodo Ranges y seleccione New Range.

5. Microsoft Dynamics AX crea un intervalo predeterminado mediante el campo AccountNum.

6. Guarde la consulta.

7. En el editor de modelos, seleccione el nodo CustTransListDS.

8. Haga clic con el botón secundario en el nodo y seleccione Refresh para reflejar los cambios realizados en la consulta de Microsoft Dynamics AX.

9. Expanda el nodo Parameters para mostrar la lista de parámetros de

informe.

10. Haga clic con el botón secundario en el nodo y seleccione Add->Parameter.

11. Escriba AccountParam como nombre.

12. En la ventana Properties, establezca la propiedad Prompt String en Account.

13. Opcional: en el editor de modelos, haga clic con el botón secundario en el nodo AutoDesign1 y seleccione Preview para ver la nueva configuración de estilo del informe.

14. Opcional: cierre la ventana Preview.

15. Guarde el informe.

16. En el editor de modelos, expanda el nodo AutoDesign1.

17. Haga clic con el botón secundario en el nodo Filters y seleccione Add Filter.

18. Escriba AccountFilter como nombre.

19. En la ventana Properties:

a. Establezca la propiedad Expression en FieldsAccountNum.Value.

b. Establezca la propiedad Operator en Like.

c. Establezca la propiedad Value en = parámetros!AccountParam.Value.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

20. Opcional: en el editor de modelos, haga clic con el botón secundario en el nodo AutoDesign1 y seleccione Preview para ver la nueva configuración de estilo para el informe.

21. Opcional: cierre la ventana Preview.

22. Guarde el informe.

Paso a paso: Adición de un parámetro dinámico

1. Abra Microsoft Dynamics AX.

2. Cree una nueva Query.

3. Cambie el nombre de la consulta a CustTable_W1.

4. Expanda el nodo CustTable_W1.

5. Busque la tabla CustTable y arrástrela hacia el nodo Data Sources para la consulta CustTable_W1.

6. Incluya el campo AccountNum en la vista del conjunto de datos.

7. Guarde la consulta.

8. En el editor de modelos, haga clic con el botón secundario en el nodo Datasets y seleccione Add Dataset.

9. Escriba CustomersDS como nombre.

10. Seleccione el nodo para el conjunto de datos.

11. En la ventana Properties, especifique los valores siguientes:

a. Establezca la propiedad Data Source en AX Dynamics.

b. Establezca la propiedad Data Source Type en Query.

c. Establezca la propiedad Default Layout en Table.

d. Establezca la propiedad Name en CustomersDS.

e. Establezca la propiedad Query en Select * from

CustTable_W1.

12. En el editor de modelos, seleccione el nodo AutoDesign1.

13. Expanda el nodo Parameters para mostrar la lista de parámetros de

informe.

14. Seleccione el nodo AccountParam.

15. En la ventana Properties, haga clic en el botón de la propiedad Values.

16. Seleccione el botón From Dataset y establezca lo siguiente:

a. Establezca la propiedad Dataset en CustomersDS.

b. Establezca la propiedad Value Field en AccountNum.

c. Establezca la propiedad Label Field en AccountNum.

17. Opcional: en el editor de modelos, haga clic con el botón secundario en el nodo AutoDesign1 y seleccione Preview para ver la nueva configuración de estilo del informe.

18. Opcional: cierre la ventana Preview.

19. Guarde el informe.

Capítulo 10: Informes

Paso a paso: Almacenamiento e implementación del informe

1. En el explorador de soluciones, haga clic con el botón secundario en el proyecto SSRSDemo y seleccione Rebuild.

2. Compruebe que no hay errores de generación.

3. En el explorador de soluciones, haga clic con el botón secundario en el proyecto SSRSDemo y seleccione Add SSRSDemo to AOT.

4. Compruebe que puede agregar elementos al AOT.

5. En el explorador de soluciones, haga clic con el botón secundario en el proyecto SSRSDemo y seleccione Deploy.

6. Compruebe que puede agregar elementos al AOT.

7. Vaya al administrador de informes para ver el informe.

Paso a paso: Visualización del informe en Microsoft Dynamics AX

1. Abra Microsoft Dynamics AX.

2. En el AOT, expanda el nodo Menu Items y seleccione el nodo Output.

3. Haga clic con el botón secundario en el nodo Output y seleccione New Menu Item.

4. Escriba CustTransList_WS1 como nombre.

5. Haga clic con el botón secundario en CustTransList_WS1 y seleccione Properties para establecer lo siguiente:

a. Establezca la propiedad ObjectType en SSRSReport.

b. Establezca la propiedad Object en CustTransList_WS1.

c. Establezca la propiedad Label Field en AutoDesign1.

6. Guarde el elemento de menú de Microsoft Dynamics AX.

7. Haga clic con el botón secundario en el elemento de menú CustTransList_WS1 y seleccione Open.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

Práctica 10.2: Creación de un informe avanzado

En este laboratorio se examinará cómo sacar partido del código X++ para construir el conjunto de datos de informe.

Escenario

Isaac, el programador, desea crear un informe de Reporting Services que muestre información acerca del objeto AOT. Isaac debe poder buscar propiedades y el informe deberá devolver los objetos AOT que cumplan los criterios de búsqueda.

Ejercicios de nivel avanzado: Definición del conjunto de datos de informe, el contrato y el proveedor de datos

Use la información que se proporciona para crear un informe de Reporting Services que muestre la información de objeto AOT. El usuario debe poder buscar propiedades y el informe deberá devolver los objetos AOT que cumplan los criterios de búsqueda.

Ejercicios de nivel avanzado: Creación de un nuevo informe en Visual Studio

Use la información que se proporciona para crear un nuevo informe en Visual Studio.

Ejercicios de nivel avanzado: Implementación y visualización del informe

Use la información que se proporciona para guardar e implementar el informe.

Ejercicios de nivel intermedio

1. Cree una tabla temporal para almacenar el conjunto de datos de informe.

2. Agregue los datos de campo de tabla que se necesitan para generar el informe.

3. Cree una clase en Microsoft Dynamics AX que se usará para administrar los parámetros de informe.

4. Defina los métodos de acceso para los elementos de datos del contrato.

5. Cree una nueva clase para administrar la lógica empresarial personalizada.

Capítulo 10: Informes

6. Agregue los dos puntos de entrada:

a. ProcessReport: este método es el punto de entrada para procesar el conjunto de datos de informe.

b. getAOTObjectsTmp: el método que el marco usa para recuperar el conjunto de datos de informe de la memoria caché de tablas temporales.

7. Agregue toda la lógica empresarial personalizada que se usará para generar el conjunto de datos de informe.

8. Cree un nuevo informe en Visual Studio.

9. Cree un nuevo conjunto de datos para el informe vinculado a la nueva clase RDP.

10. Cree una vista básica de los datos del informe agrupados en el elemento de información AOT Object Property.

11. Convierta el diseño básico en un diseño de precisión para conseguir el diseño de informe deseado.

12. Guarde e implemente el informe.

13. Visualice el informe en Microsoft Dynamics AX 2012.

Paso a paso: Definición del conjunto de datos de informe

1. Abra Microsoft Dynamics AX.

2. En el AOT, haga clic con el botón secundario en el nodo Tables y seleccione New Table.

3. Haga clic con el botón secundario en el nodo de tabla y seleccione Properties.

4. Busque la propiedad Name y escriba AOTObjectsTmp.

5. Busque la propiedad TableType y escriba InMemory.

6. Guarde la tabla.

7. Busque la propiedad AOTObjectsTmp.

8. Expanda el nodo Fields.

9. Haga clic con el botón secundario en el nodo Fields de la tabla y seleccione New -> String.

10. Crear un nuevo campo con el nombre Node y establezca la propiedad ExtendedDataType en Description.

11. Agregue una etiqueta para el nodo de campo.

12. Repita estos pasos para dos campos adicionales: ParentNode y Property.

13. Guarde la tabla.

Creación de una clase de contrato

1. Abra Microsoft Dynamics AX.

2. En el AOT, haga clic con el botón secundario en el nodo Classes y seleccione New Class.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

3. Haga clic con el botón secundario en el nodo de clase y seleccione Properties.

4. Busque la propiedad Name y escriba AOTObjectsContract.

/// <summary> /// Data Contract class for the AOT Objects Reporting Services report /// </summary> /// <remarks> /// This is the Data Contract class for the AOT Objects Reporting Services report /// </remarks>

[DataContractAttribute] public class AOTObjectsContract

{

Name parentNode; Name aotProperty; Name propertyVal; boolean incNoValue;

}

Definición de los métodos de acceso: método AOTProperty

1. Busque el nodo AOTObjectsContract en el AOT.

2. Abra la clase y agregue un método para administrar los parámetros de entrada.

/// <summary> /// Gets or sets the value of the datacontract parameter AOTProperty. /// </summary> /// <param name="_aotProperty"> /// The new value of the datacontract parameter AOTProperty; required. /// </param> /// <returns>

/// The current value of datacontract parameter AOTProperty /// </returns>

[

DataMemberAttribute('AOTProperty'), SysOperationLabelAttribute('AOT Property')

]

public Name parmAOTProperty(Name _aotProperty = aotProperty

)

{

aotProperty = _aotProperty; return aotProperty;

}

Capítulo 10: Informes

Definición de métodos de acceso: método IncludeNoValue

1. Busque el nodo AOTObjectsContract en el AOT.

2. Abra la clase y agregue un método para administrar los parámetros de entrada.

/// <summary> /// Gets or sets the value of the datacontract parameter IncludeNoValue. /// </summary> /// <param name="_incNoValue"> /// The new value of the datacontract parameter IncludeNoValue; required. /// </param> /// <returns> /// The current value of datacontract parameter IncludeNoValue /// </returns>

[

DataMemberAttribute('IncludeNoValue'),

SysOperationLabelAttribute('Include empty')

]

public boolean parmIncNoValue(boolean _incNoValue = incNoValue )

{

incNoValue = _incNoValue; return incNoValue;

}

Definición de métodos de acceso: método ParentNode

1. Busque el nodo AOTObjectsContract en el AOT.

2. Abra la clase y agregue un método para administrar los parámetros de entrada.

/// <summary> /// Gets or sets the value of the datacontract parameter ParentNode. /// </summary>

/// <param name="_parentNode"> /// The new value of the datacontract parameter ParentNode; required. /// </param> /// <returns> /// The current value of datacontract parameter ParentNode /// </returns>

[

DataMemberAttribute('ParentNode'),

SysOperationLabelAttribute('Node')

]

public Name parmParentNode(Name _parentNode = parentNode )

{

parentNode = _parentNode; return parentNode;

}

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

Definición de métodos de acceso: método Propertyalue

1. Busque el nodo AOTObjectsContract en el AOT.

2. Abra la clase y agregue un método para administrar los parámetros de entrada.

/// <summary> /// Gets or sets the value of the datacontract parameter PropertyValue. /// </summary> /// <param name="_propertyVal"> /// The new value of the datacontract parameter PropertyValue; required. /// </param> /// <returns> /// The current value of datacontract parameter PropertyValue /// </returns>

[ DataMemberAttribute('PropertyValue'), SysOperationLabelAttribute('Property Value')]

public Name parmPropertyValue(Name _propertyVal = propertyVal )

{

propertyVal = _propertyVal; return propertyVal;

}

Paso a paso: Creación de una clase de proveedor de datos de informe

1. Abra Microsoft Dynamics AX.

2. En el AOT, haga clic con el botón secundario en el nodo Classes y seleccione New Class.

3. Haga clic con el botón secundario en el nodo de clase y seleccione Properties.

Capítulo 10: Informes

4. Busque la propiedad Name y escriba AOTObjectsDP.

/// <summary>

///

Objects report.

/// </summary> /// <remarks>

///

AOT Objects report /// </remarks>

The Report data provider class that supports the AOT

This class provides the methods that are used by the

[

SRSReportParameterAttribute(classstr(AOTObjectsContract))

]

public class AOTObjectsDP extends SRSReportDataProviderBase

{

 

// temporary data store AOTObjectsTmp

aotObjectsTmp;

// contract information Name

aotProperty;

Name

propertyVal;

boolean

incNoValue;

}

Definición de métodos de acceso: método getAOTObjectsTmp

1. Busque el nodo AOTObjectsDP en el AOT.

2. Abra la clase y agregue un método para recuperar el conjunto de datos de informe.

/// <summary>

///

<c>AOTObjectsTmp</c> table and returns the data table.

/// </summary> /// <returns>

///

/// </returns> [SRSReportDataSetAttribute('AOTObjectsTmp')] public AOTObjectsTmp getAOTObjectsTmp()

This method is used to query the

The required report data table.

{

select * from aotObjectsTmp; return aotObjectsTmp;

}

Definición de métodos de acceso: método insertAOTObjectsTmp

1. Busque el nodo AOTObjectsDP en el AOT.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

2. Abra la clase y agregue un método para rellenar el conjunto de datos de informe.

/// <summary>

///

This method inserts data into the temporary table.

/// </summary> public void insertAOTObjectsTmp(

Name

_node,

Name

_parentNode,

Name

_property )

{

// write the relevant field data to the temporary data store

}

aotObjectsTmp.Node

aotObjectsTmp.ParentNode

aotObjectsTmp.Property

aotObjectsTmp.insert();

= _node; = _parentNode; = _property;

Definición de métodos de proceso: método processAOTNode

1. Busque el nodo AOTObjectsDP en el AOT.

2. Abra la clase y agregue un método para procesar un único nodo.

private void processAOTNode(TreeNode _node, TreeNode _parentNode, int _depth)

{

 

TreeNode childNode;

// validate incoming parameters if (!_node) return;

// evaluate the node properties

this.processNodeProperty(_node, _parentNode); // iterate through the report regions childNode = _node.AOTfirstChild(); if (_depth > 0)

{

while (childNode)

{

// use recursion to process the child nodes this.processAOTNode(childNode, _node, _depth -

1);

 

// advance to the next sibling node childNode = childNode.AOTnextSibling();

}

}

}

Capítulo 10: Informes

Definición de métodos de proceso: método processNodeProperty

1. Busque el nodo AOTObjectsDP en el AOT.

2. Abra la clase y agregue un método para procesar las propiedades del nodo.

private void processNodeProperty(TreeNode _node, TreeNode _parentNode)

{

str nodePropertyVal;

// check to see if the node has AOT properties available if (strlen(_node.AOTgetProperties()) > 0)

{

// check to see if a property filter was provided if (strlen(aotProperty) > 0)

{

// retrieve the Configuration Key associated with this object try

{

nodePropertyVal = _node.AOTgetProperty(aotProperty);

}

catch

{

// assume no property exists nodePropertyVal ="";

}

// ignore objects without the property if

instructed

if (!incNoValue && strlen(nodePropertyVal) ==

0)

return;

// check to see if a security filter was

provided

if ((strlen(propertyVal) > 0) && (strlen(nodePropertyVal) > 0))

{

// ignore objects that do not apply if (strCmp(nodePropertyVal, propertyVal) !=

0)

}

}

return;

// insert this node into the report data set this.insertAOTObjectsTmp(_node.AOTname(), _parentNode ? _parentNode.AOTname() : "", nodePropertyVal);

}

}

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

Definición de métodos de proceso: método processReport

1. Busque el nodo AOTObjectsDP en el AOT.

2. Abra la clase y agregue un método para procesar el conjunto de datos de informe.

/// <summary>

///

/// </summary> /// <remarks>

///

logic which is used by AOT Object report.

/// </remarks> [SysEntryPointAttribute(false)] public void processReport()

Processes the report business logic.

This method is used to process the report business

{

#AOT

Name

parentNode;

int

depth;

TreeNode

treeNode;

// access the Report Data Contract information AOTObjectsContract contract = this.parmDataContract() as AOTObjectsContract; if (contract)

{

// look-up the node referenced by the contract selection parentNode = contract.parmParentNode();

// cache the control flags incNoValue = contract.parmIncNoValue();

// access the requested security key filter aotProperty = contract.parmAOTProperty(); propertyVal = contract.parmPropertyValue();

}

else

{

 

// default to the Menu Items node of the AOT parentNode = #MenuItemsOutputPath;

// set session defaults incNoValue = true;

}

// look-up the node referenced by the contract selection treeNode = TreeNode::findNode(parentNode); if(!treeNode)

Capítulo 10: Informes

{

 

// throw an error if parent node isn't found error(strfmt("@SYS105682", parentNode));

}

else

{

 

// process the parent node this.processAOTNode(treeNode, null, 1);

}

}

Paso a paso: Creación de un nuevo informe en Visual Studio

1. Abra Microsoft Visual Studio.

2. En el menú File, elija New y haga clic en Project. Aparece el cuadro de diálogo New Project.

3. En el panel Project Types, haga clic en el nodo Microsoft Dynamics AX y en el panel Templates, haga clic en Report Model.

4. En el cuadro Name, escriba SSRSDemo2 y en el cuadro Location, escriba una ruta de acceso al archivo.

5. Haga clic en OK.

6. En el explorador de soluciones, haga clic en el botón Add y seleccione Report.

7. Se crea un modelo de informe vacío denominado Report1.

8. Haga clic con el botón secundario en el informe recién creado y cambie su nombre a AOTObjects_WS2.

9. Expanda el nodo AOTObjects_WS2 si todavía no está expandido.

10. Haga clic con el botón secundario en el nodo Datasets y seleccione Add Dataset.

11. Seleccione el nodo para el conjunto de datos.

12. En la ventana Properties, especifique los valores siguientes:

a. Establezca la propiedad Data Source en AX Dynamics.

b. Establezca la propiedad Data Source Type en Report Data Provider.

c. Establezca la propiedad Default Layout en Table.

d. Establezca la propiedad Name en AOTObjectsDP.

e. Establezca la propiedad Query en SELECT * FROM AOTObjectsDP.AOTObjectsTmp.

13. En el editor de modelos, seleccione el nodo AOTObjectsDS y arrástrelo hacia el nodo Designs. Se crea un diseño automático denominado AutoDesign1 para el informe.

14. Haga clic con el botón secundario en el nodo AutoDesign1 y seleccione Preview.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

15. Establezca las propiedades LayoutTemplate y TableStyleTemplate.

16. Agrupe el conjunto de datos de informe en =Fields!Property.Value.

17. Haga clic con el botón secundario en el nodo AutoDesign1 y seleccione Create Precision Design.

18. Haga clic con el botón secundario en el nodo PrecisionDesign, seleccione Rename y establezca el nombre en Report.

Paso a paso: Almacenamiento e implementación del informe

1. En el explorador de soluciones, haga clic con el botón secundario en el proyecto SSRSDemo2 y seleccione Rebuild.

2. Compruebe que no hay errores de generación.

3. En el explorador de soluciones, haga clic con el botón secundario en el proyecto SSRSDemo2 y seleccione Add SSRSDemo2 to AOT.

4. Compruebe que puede agregar elementos al AOT.

5. En el explorador de soluciones, haga clic con el botón secundario en el proyecto SSRSDemo y seleccione Deploy.

6. Compruebe que puede agregar elementos al AOT.

7. Vaya al administrador de informes para ver el informe.

Paso a paso: Visualización del informe en Microsoft Dynamics AX

1. Abra Microsoft Dynamics AX.

2. En el AOT, expanda el nodo Menu Items y seleccione el nodo Output.

3. Haga clic con el botón secundario en el nodo Output y seleccione New Menu Item.

4. Escriba AOTObjects_WS2 el nombre.

5. Haga clic con el botón secundario en AOTObjects_WS1 y seleccione Properties para establecer lo siguiente:

a. Establezca la propiedad ObjectType en SSRSReport.

b. Establezca la propiedad Object en AOTObjects_WS2.

c. Establezca la propiedad ReportDesign en PrecisionDesign.

6. Guarde el elemento de menú de AX.

7. Haga clic con el botón secundario en el elemento de menú AOTObjects_WS2 y seleccione Open.

Capítulo 10: Informes

Resumen

En este capítulo aprendió que en Microsoft Dynamics AX 2012, todos los informes de X++ se han migrado a SQL Server Reporting Services. Esta plataforma ofrece a los usuarios informes más atractivos, un mayor número de formatos de exportación y un diseñador de informes con más capacidades.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

Evaluación de conocimientos

1. Verdadero o falso: los informes no están completamente integrados en el sistema de seguridad de Microsoft Dynamics AX.

(

) Falso

(

) Verdadero

2. ¿Qué herramienta se usa para implementar informes en Microsoft Dynamics AX 2012?

(

) PowerShell

(

) Archivos de instalación de Microsoft Dynamics AX 2012

(

) Formulario de implementación de proyectos de informes de Microsoft Dynamics AX 2012

3. Verdadero o falso: es posible usar como origen el nuevo tipo de datos de informe para crear informes que contienen datos de una clase X++.

(

) Verdadero

(

) Falso

4. ¿Cuáles son algunas de las ventajas de la nueva arquitectura de Reporting Services sobre los informes X++? (Seleccione todas las respuestas válidas)

(

) Informes más atractivos

(

) Arquitectura más flexible

(

) Mayor número de formatos de exportación compatibles

(

) Mejor diseñador de informes

5. ¿Cuáles son algunas de las opciones para actualizar los informes existentes de Microsoft Dynamics AX 2009 SQL Server Reporting Services? (Seleccione todas las respuestas válidas)

(

) Volver a escribir los informes de Reporting Services mediante el marco de informes de X++.

(

) No actualizar los informes, usar una plantilla de Reporting Services y personalizarla para satisfacer las necesidades del usuario.

(

) Implementar los informes de Reporting Services y seguir las indicaciones del asistente para implementación.

(

) Usar la herramienta de actualización de informes para actualizar los informes de modo que sean compatibles con el esquema de Microsoft Dynamics AX 2012.

Capítulo 10: Informes

Interacción rápida: Lecciones aprendidas

Dedique unos momentos a escribir tres conceptos principales que haya aprendido en este capítulo

1.

1. 2. 3.
1. 2. 3.
1. 2. 3.

2.

1. 2. 3.
1. 2. 3.
1. 2. 3.

3.

Novedades: Aspectos técnicos de Microsoft Dynamics ® AX 2012 para el desarrollo

Soluciones

Evaluación de conocimientos

1. Verdadero o falso: los informes no están completamente integrados en el sistema de seguridad de Microsoft Dynamics AX.

() Falso

( ) Verdadero

2. ¿Qué herramienta se usa para implementar informes en Microsoft Dynamics AX 2012?

() PowerShell

(

) Archivos de instalación de Microsoft Dynamics AX 2012

(

) Formulario de implementación de proyectos de informes de Microsoft Dynamics AX 2012

3. Verdadero o falso: es posible usar como origen el nuevo tipo de datos de informe para crear informes que contienen datos de una clase X++.

() Verdadero

( ) Falso

4. ¿Cuáles son algunas de las ventajas de la nueva arquitectura de Reporting Services sobre los informes X++? (Seleccione todas las respuestas válidas)

() Informes más atractivos

() Arquitectura más flexible

() Mayor número de formatos de exportación compatibles

() Mejor diseñador de informes

5. ¿Cuáles son algunas de las opciones para actualizar los informes existentes de Microsoft Dynamics AX 2009 SQL Server Reporting Services? (Seleccione todas las respuestas válidas)

( ) Volver a escribir los informes de Reporting Services mediante el marco de informes de X++.

() No actualizar los informes, usar una plantilla de Reporting Services y personalizarla para satisfacer las necesidades del usuario.

( ) Implementar los informes de Reporting Services y seguir las indicaciones del asistente para implementación.

() Usar la herramienta de actualización de informes para actualizar los informes de modo que sean compatibles con el esquema de Microsoft Dynamics AX 2012.