Autor Tema: reportes desde php  (Leído 421 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Leo Garay

  • Jr. Member
  • **
  • Mensajes: 64
    • Ver Perfil
    • Email
  • Institución: Universidad Nacional de La Rioja
  • Sistema: SIU-Toba, SIU-Pilaga,SIU-Arai,SIU-Wichi
reportes desde php
« : marzo 09, 2016, 01:17:11 pm »
Buenos dias, actualmente estoy utilizando la siguiente forma para llamar  los reportes.

Código: [Seleccionar]
  //exportaciones jasperReport
    function vista_jasperreports(toba_vista_jasperreports $report)
    {
            $path = toba::proyecto()->get_path()."/exportaciones/jasper/pedidos.jasper";       
            $id = toba::memoria()->get_parametro('id_pedido');

            $report->set_parametro('id_pedido','E',$id);
            $report->set_nombre_archivo('orden-suministros'.pdf'); 
            $report->set_path_reporte($path);
            $db= toba::db('*********');
            $report->set_conexion($db);
        }
   
    function extender_objeto_js()
    {
        if ($this->get_id_pantalla() == 'pant_seleccion') {
                        echo "
                            {$this->dep('cuadro')->objeto_js}.evt__imprimir = function(params) {
                                location.href = vinculador.get_url(null, null, 'vista_jasperreports', {'id_pedido': params});
                       
                                return false;
                            }
        ";
                    }
    }

Lo que necesito ahora es llamar al reporte desde un evento desde php, como lo podria hacer?
desde ya muchas gracias... Saluds

richard

  • Moderador Global
  • *****
  • Mensajes: 2770
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:reportes desde php
« Respuesta #1 : marzo 09, 2016, 01:27:52 pm »
Hola Leo,

no se si termino de entenderte,  ya estas llamando al reporte desde un evento en JS. Si te referis a llamarlo a partir de un evento de guardado,  ahi vas a tener que volver hasta el cliente si o si y luego disparar el pedido al servicio correspondiente, sino se complica, porque quedaria el cliente con la pantalla en blanco.

Ademas para poder hacer la descarga correspondiente, tendrias que retrasar el envio de headers y asegurarte que no existe ningun otro punto en la operacion que pueda generar una salida, de otro modo sonaste. Aun asi, como te decia mas arriba.. al cliente le queda la pagina en blanco ya que no le podes mandar el html de la misma.

No se si tu pregunta iba por ahi, lo mas recomendable es que lo labures a traves de un servicio particular (que podes configurar en el evento y que se dispararia en lugar de este)... que es similar a lo que venis haciendo por codigo.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.