- Este debate está vacío.
-
AutorEntradas
-
8 marzo, 2010 a las 12:58 am #31317Luis CastelatMiembro
Que tal Federico, te hago una consulta. Necesitamos lanzar varios reportes hechos en Jasper desde la ventana Entidad Comercial, por ejemplo: Cuenta Corriente del Cliente, Facturas adeudadas, Articulos mas comprados, etc.. Estos reportes los deberia largar desde un boton y que no abran ningun proceso de seleccion sino que use los argumentos de la ventana, como id de EC, para no tener que seleccionar nada, sino que el reporte salga directo. Quisiera saber si es posible desarrollar esto, y si nos podes orientar para poderlo empezar a programar. En los cursos vimos esto pero muy basico y haciendolo directamente con los procesos para seleccionar los datos del informe. Tambien si es posible que los desarrollemos como un componente ya que estamos trabajando en la ultima version.
Un abrazo!!!
31 marzo, 2010 a las 3:03 pm #34160Luis CastelatMiembrosticuyo escribió:
Quote:Que tal Federico, te hago una consulta. Necesitamos lanzar varios reportes hechos en Jasper desde la ventana Entidad Comercial, por ejemplo: Cuenta Corriente del Cliente, Facturas adeudadas, Articulos mas comprados, etc.. Estos reportes los deberia largar desde un boton y que no abran ningun proceso de seleccion sino que use los argumentos de la ventana, como id de EC, para no tener que seleccionar nada, sino que el reporte salga directo. Quisiera saber si es posible desarrollar esto, y si nos podes orientar para poderlo empezar a programar. En los cursos vimos esto pero muy basico y haciendolo directamente con los procesos para seleccionar los datos del informe. Tambien si es posible que los desarrollemos como un componente ya que estamos trabajando en la ultima version.Un abrazo!!!
1 abril, 2010 a las 11:21 am #34161Federico CristinaSuperadministradorLuis,
Parece que se nos pasó este thread!
Quote:Necesitamos lanzar varios reportes hechos en Jasper desde la ventana Entidad Comercial, por ejemplo: Cuenta Corriente del Cliente, Facturas adeudadas, Articulos mas comprados, etc..Lo más sencillo sería tener un botón por cada informe a disparar. Sin embargo, si la intención es que con un botón directamente se disparen varios reportes, deberías implementar un proceso que invoque a todos los procesos restantes.
La nueva clase VPluginInstallerUtils del release 10.03 hace uso de esta funcionalidad. El método doPostInstall(), invoca desde código la ejecución de otro proceso.
Code:/* Insertar el parametro para el XML */
ProcessInfo pi = new ProcessInfo( ” Post Instalacion “, postInstallProcessId);
ProcessInfoParameter xtraParam = new ProcessInfoParameter(PluginConstants.XML_CONTENT_PARAMETER_NAME, xml, null, null, null);
pi.setParameter(addToArray(pi.getParameter(), xtraParam));/* Habilitar al usuario System para que pueda disparar el postinstall */
postInstallprocessAccess(ctx, trxName, postInstallProcessId);/* Invocar la ejecución del proceso, si el mismo devuelve null es porque se cancelo en los parametros */
ProcessCtl worker = ProcessCtl.process(installer, installer.getM_WindowNo(), pi, Trx.getTrx(trxName));Tené en cuenta que para cada proceso invocado, se abrirá la ventana de diálogo correspondiente a los parámetros requeridos por el proceso (en caso que de que los mismos tengan definidos parámetros).
Para “inyectar” los parámetros por código y que directamente no se presente la ventana de diálogo, deberías utilizar alguno de los métodos execute() de la clase MProcess. Por ejemplo algo así:
Code:// setear los parámetros
HashMapparams = new HashMap ();
params.put(“Parametro 1”, XXX);
…
params.put(“Parametro X”, XXX);// ejecutar el proceso
MProcess.execute(getCtx(), launchProcessId, params, get_TrxName());Quote:Estos reportes los deberia largar desde un boton y que no abran ningun proceso de seleccion sino que use los argumentos de la ventana, como id de EC, para no tener que seleccionar nada, sino que el reporte salga directoPara ésto, fijate por ejemplo la clase LaunchInvoice (impresión de factura), en el prepare() recupera la tabla y registro donde se encuentra el usuario en ese momento:
Code:AD_Table_ID = getTable_ID();
AD_Record_ID = getRecord_ID();Saludos!
-
AutorEntradas
- Debes estar registrado para responder a este debate.