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:54] fcristina [Redefinición de acciones de documento] |
plugins:ejemploplugin [2021/07/02 12:37] (actual) fcristina [Implementación de clases del package ar.com.disytel.plugin.reportProvider] |
||
|---|---|---|---|
| Línea 158: | Línea 158: | ||
| ==== Modificacion de las opciones de acciones de documento ==== | ==== Modificacion de las opciones de acciones de documento ==== | ||
| - | 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(" | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||