Herramientas de usuario

Herramientas del sitio


plugins:ejemploplugin

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
plugins:ejemploplugin [2021/07/01 15:19]
fcristina
plugins:ejemploplugin [2021/07/02 12:37] (actual)
fcristina [Implementación de clases del package ar.com.disytel.plugin.reportProvider]
Línea 484: Línea 484:
 ===== Implementación de clases del package ar.com.disytel.plugin.reportProvider ===== ===== Implementación de clases del package ar.com.disytel.plugin.reportProvider =====
  
-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.+A partir de la revision r2968, 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.
  
 Es importante que la clase respete los siguientes: Es importante que la clase respete los siguientes:
  
   * 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**, la cual contiene el método **addReportParametersToLaunch(MJasperReport report, PO po)**.+  * Debe implementar la interfaz **org.openXpertya.plugin.report.ReportProviderInterface**, la cual contiene el método **addReportParametersToLaunch(MJasperReport report, PO po)**. 
  
-Por ejemplo, suponiendo que es necesario incorporar nuevos parámetros para la impresión Jasper de facturas.+Este método inyecta dos parámetros:
  
-La clase en CORE es **org.openXpertya.JasperReport.LaunchInvoice**.+  * **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 si estamos imprimiendo una factura se recibirá un MInvoice, si estamos imprimiendo un recibo se recibirá un MAllocationHdr. Si por el contrario se está imprimiendo un listado, se recibirá null.
  
-Con lo cual sera necesario crear la clase **ar.com.disytel.plugin.reportProvider**.+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**, con lo cual sera necesario crear la clase **ar.com.disytel.plugin.reportProvider** e implementar **org.openXpertya.plugin.report.ReportProviderInterface**. 
 + 
 +<code java> 
 +package ar.com.disytel.plugin.reportProvider; 
 +import org.openXpertya.JasperReport.MJasperReport; 
 +import org.openXpertya.model.MInvoice; 
 +import org.openXpertya.model.PO; 
 +import org.openXpertya.plugin.report.ReportProviderInterface; 
 + 
 +public class LaunchInvoice implements ReportProviderInterface { 
 +  
 + @Override 
 + public void addReportParametersToLaunch(MJasperReport report, PO po) { 
 + // Agregar los parámetros que necesitemos 
 + report.addParameter("FOO", getFoo(po)); 
 + report.addParameter("BAR", getBar(po)); 
 +
 +
 +</code>
  
  
  
  
plugins/ejemploplugin.1625152751.txt.gz · Última modificación: 2021/07/01 15:19 por fcristina