Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa Última revisión Ambos lados, revisión siguiente | ||
plugins:ejemploplugin [2021/07/01 15:19] fcristina |
plugins:ejemploplugin [2021/07/01 16:29] fcristina [Implementación de clases del package ar.com.disytel.plugin.reportProvider] |
||
---|---|---|---|
Línea 483: | Línea 483: | ||
===== Implementación de clases del package ar.com.disytel.plugin.reportProvider ===== | ===== Implementación de clases del package ar.com.disytel.plugin.reportProvider ===== | ||
+ | |||
+ | //Pendiente a incorporar a CORE// | ||
En caso de necesitar incorporar nuevos parámetros a un informe Jasper, pero sin necesidad de redefinir la clase por completo, es posible crear una clase que simplemente se encargue de incorporar al Jasper los parametros adicionales específicos del componente. | En caso de necesitar incorporar nuevos parámetros a un informe Jasper, pero sin necesidad de redefinir la clase por completo, es posible crear una clase que simplemente se encargue de incorporar al Jasper los parametros adicionales específicos del componente. | ||
Línea 489: | Línea 491: | ||
* Debe tener igual nombre de clase que la existente en Libertya CORE | * Debe tener igual nombre de clase que la existente en Libertya CORE | ||
- | * Debe implementar la interfaz **org.openXpertya.plugin.report.ReportProviderInterface**, | + | * Debe implementar la interfaz **org.openXpertya.plugin.report.ReportProviderInterface**, |
+ | |||
+ | Este método inyecta dos parámetros: | ||
+ | |||
+ | * **MJasperReport report**: Reporte Jasper al cual podremos incorporarle nuevos parámetros previo a su rellenado. | ||
+ | * **PO po**: El objeto base con la información a imprimir. | ||
- | Por ejemplo, suponiendo que es necesario incorporar nuevos parámetros para la impresión Jasper de facturas. | + | Por ejemplo, suponiendo que es necesario incorporar nuevos parámetros para la impresión Jasper de facturas, la clase en CORE es **org.openXpertya.JasperReport.LaunchInvoice**, |
- | La clase en CORE es **org.openXpertya.JasperReport.LaunchInvoice**. | + | <code java> |
+ | package ar.com.disytel.plugin.reportProvider; | ||
+ | import | ||
+ | import org.openXpertya.model.MInvoice; | ||
+ | import org.openXpertya.model.PO; | ||
+ | import org.openXpertya.plugin.report.ReportProviderInterface; | ||
- | Con lo cual sera necesario crear la clase **ar.com.disytel.plugin.reportProvider**. | + | public class LaunchInvoice implements ReportProviderInterface { |
+ | |||
+ | @Override | ||
+ | public void addReportParametersToLaunch(MJasperReport report, PO po) { | ||
+ | // Agregar los parámetros que necesitemos | ||
+ | report.addParameter(" | ||
+ | report.addParameter(" | ||
+ | } | ||
+ | } | ||
+ | </ | ||