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 | ||
plugins:ejemploplugin [2016/11/18 17:53] fcristina [Redefinición de métodos de lógica de documentos (prepareIt(), completeIt(), voidIt(), closeIt(), etc.)] |
plugins:ejemploplugin [2021/07/02 12:37] (actual) fcristina [Implementación de clases del package ar.com.disytel.plugin.reportProvider] |
||
---|---|---|---|
Línea 156: | Línea 156: | ||
- | ==== Redefinición | + | ==== Modificacion de las opciones |
- | Es posible incorporar o eliminar acciones sobre un documento, tales como Anular, Completar, Inversa Corrección, | + | Es posible incorporar o eliminar |
Dicha interface tiene simplemente un método llamando **customizeValidActions()** que recibe la información relevante del documento, las opciones actuales, etc. Dicho método debe retornar el indice actual que referencia al total de opciones válidas. | Dicha interface tiene simplemente un método llamando **customizeValidActions()** que recibe la información relevante del documento, las opciones actuales, etc. Dicho método debe retornar el indice actual que referencia al total de opciones válidas. | ||
Línea 480: | Línea 480: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | |||
+ | ===== Implementación de clases del package ar.com.disytel.plugin.reportProvider ===== | ||
+ | |||
+ | 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: | ||
+ | |||
+ | * Debe tener igual nombre de clase que la existente en Libertya CORE | ||
+ | * 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, la clase en CORE es **org.openXpertya.JasperReport.LaunchInvoice**, | ||
+ | |||
+ | <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(" | ||
+ | report.addParameter(" | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||