2.Creando un informe RDP
El modelo de programación de informes en AX2012
utiliza el patrón MVC para separar la interface de usuario y la lógica de
negocio.
El modelo MVC
distribuye las funciones como se explica a continuación:
View (Vista): Representa la visualización del informe.
Model (Modelo): Recupera los datos que se generan.
Controller (Controlador): Son los parámetros y los constructores de interface de usuario que se utilizarán para generar el informe.
Modelo
Un modelo para un informe SSRS puede ser una consulta de
AOT, un RDP (Report Data Provider) o una lógica de negocio.
La consulta AOT son consultas modeladas utilizando el MorphX IDE (Queries), mientras que los RDP son clases que extienden SRSReportDataProvider.
Un modelo RDP se utiliza cuando se necesitan datos calculados y que son difíciles de conseguir a través de una query.
La consulta AOT son consultas modeladas utilizando el MorphX IDE (Queries), mientras que los RDP son clases que extienden SRSReportDataProvider.
Un modelo RDP se utiliza cuando se necesitan datos calculados y que son difíciles de conseguir a través de una query.
Controlador
Es aquel que
une las diferentes clases y controla la
ejecución del informe.
Se lleva a
cabo por la clase SSRSReportRunController y se
puede extender para aplicarcontroles específicos en los informes.
Constructor UI:
Esta es otra clase de controlador que se encarga de la construcción de la interface de usuario, implementado por
la clase SRSReportDataContractUIBuilder, la cual extiende de la SysOperationAutomaticUIBuilder y puede ser modificada para
la implementación de un informe.
Se puede modificar para manejar eventos de interface de usuario, tales como validaciones y modificaciones.
Se puede modificar para manejar eventos de interface de usuario, tales como validaciones y modificaciones.
Report Data Provider(RDP)
El concepto de RDP es muy simple.
La función principal de una clase RDP es proveer los datos del informe.
Se rellena una tabla temporal mediante una consulta o lógica de negocio con todos los campos necesarios para el informe. Luego se utiliza esta tabla temporal como fuente de datos para el informe.
Cualquier clase que extienda de SRSReportDataProviderbase / SRSReportDataProviderPreprocess
puede actuar como un
RDP.
La función principal de una clase RDP es proveer los datos del informe.
Se rellena una tabla temporal mediante una consulta o lógica de negocio con todos los campos necesarios para el informe. Luego se utiliza esta tabla temporal como fuente de datos para el informe.
Resumiendo un poco, existen
cuatro tipos de clases para crear los informes RDP:
Contract: Encargada de los parámetros que aparecerán en
los diálogos.
Controller: La encargada de lanzar el
informe y modificar la query antes de mostrarse.DataProvider: Clase encargada de modelar los datos.
UIBuilder: Se utiliza para implementaciones, sobrescribir eventos, así como validaciones y modificaciones.
Comentarios
Publicar un comentario