コード例 #1
0
 /**
  * Genera un archivo jrprint y lo agrega al spool de union
  */
 function completar_con_datos()
 {
     if (!isset($this->path_reporte)) {
         //Lo chequeo aca adentro por si la funcion se llama mas de una vez
         throw new toba_error_def("Falta definir el .jasper con set_path_reporte");
     }
     if ($this->modo_archivo) {
         //Si el conjunto de datos viene de un archivo comun
         $jrl = new JavaClass("net.sf.jasperreports.engine.util.JRLoader");
         $jrxmlutil = new JavaClass("net.sf.jasperreports.engine.util.JRXmlUtils");
         $jrxpath = new JavaClass("net.sf.jasperreports.engine.query.JRXPathQueryExecuterFactory");
         $document = $jrxmlutil->parse($jrl->getLocationInputStream($this->xml_path));
         //Pongo el archivo con los datos como parametro y creo el reporte
         $this->parametros->put($jrxpath->PARAMETER_XML_DATA_DOCUMENT, $document);
         $print = $this->jasper->fillReport($this->path_reporte, $this->parametros);
     } else {
         //El conjunto de datos viene de una db o datasource
         if (!isset($this->conexion)) {
             $this->conexion = $this->instanciar_conexion_default();
         }
         if ($this->conexion instanceof toba_db) {
             //Si es una base toba, le configuro el schema
             $con1 = $this->configurar_bd($this->conexion);
         } else {
             $con1 = $this->conexion;
         }
         //Creo el reporte finalmente con la conexion JDBC
         $print = $this->jasper->fillReport($this->path_reporte, $this->parametros, $con1);
         $con1->close();
     }
     $this->lista_jrprint[] = $print;
 }