modificacion toba_vista_jasperreports

Hola Matias,

Los eventos tienen algo llamado “accion predefinida”… ahi tenes varias opciones (entre ellas la impresion), cuando seleccionas “vinculo”… fijate que en el ultimo parametro podes especificar (seleccionando “otro”) que dicho vinculo invoque un servicio especifico a tu gusto.

2) Modifiqué la extension js para que me llame al evento nuevo y no al vista_jasperreports y cree el listener pero no comprendí que es lo que deberia hacer aca adentro. del listener De todas formas en mis logs al ejecutarlo me sale el mensaje "toba_error_seguridad: Error Interno El servicio evt__pdfAux no est\xe1 soportado...".

Lo primero es colocar el nombre que pusiste en ese ultimo parametro que te mencionaba arriba, no el nombre del evento… de esa forma cuando tengas el metodo “servicio__nombre” se va a invocar correctamente y no te va a lanzar esa excepcion.

Por otra parte, lo que tenes que hacer dentro de ese servicio… seria simular lo que hace la vista_jasper… esto es:

  • Instanciar la clase toba_vista_jasperreports
  • Asignarle los objetos de la operacion que se deben tomar en cuenta para la misma
  • Llamar al metodo generar_salida
  • Agregar el json via Fpdi
  • Enviarle el archivo al cliente
Te dejo como tengo la extension js: function extender_objeto_js() { if ($this->s__imprimir) { $this->s__imprimir = false; echo " window.open(vinculador.get_url(null, null, 'evt__pdfAux', null, [{$this->objeto_js}._id], false, true)); //---- Eventos --------------------------------------------- "; } }
Con esto deberia alcanzar, en cuanto invocas la funcion open.. se dispara el pedido de pagina que te deberia devolver el pdf con todo lo que querias.

Saludos.