Hola, estoy tratando de incorporar reportes jasper en aplicacion con toba y me sucede que tengo problemas con el archivo .xml, no veo que se genere, donde le indico a toba que debe guardar el archivo .xml ??
Y otra pregunta es que funcion genera el archivo .xml, donde debo llamarla ??
Podria alguien indicarme como solucionar esto ?? Gracias.
Hola Olga,
el archivo xml lo podes generar vos a mano, o usar la vista_xml de los componentes si es que no necesitas una estructura particular. Sea como sea, quien decide donde se debe guardar el archivo xml, sos vos… toba no exporta directamente a archivo, solo te devuelve el contenido de la vista especifica en el caso de los componentes visuales.
Para poder obtener cualquier vista a partir de un componente, necesitas tener los datos cargados… por ende, la llamada la tenes que realizar luego del conf de dicho componente.
Saludos
Hola, he logrado armar algo que me permite generar el archivo pero en blanco, por favor si alguien tiene una idea ??
les pego la funcion
function crear_xml()
{
$doc = new DOMDocument("1.0", 'iso-8859-1');
$datos = $doc->createElement("Datos");
$doc->appendChild($datos);
$datos_anexos = $doc->createElement('datos_anexos');
$datos->appendChild($datos_anexos);
$result=($this->dep('datos_ws')->get_datos_persona(($this->s__filtro['cuit'])));
$row = 0;
foreach ($result as $archivo){
$datos_anexos = $doc->createElement("datos_anexos");
$datos->appendChild($datos_anexos);
$datos_anexos->setAttribute("cuit",$result[$row]['cuit']);
$datos_anexos->setAttribute("razon", $result[$row]['razon']);
$row ++;
}
ei_arbol($doc);
return $doc;
}
graba el archivo en la carpeta con el nombre solicitado pero lo graba en blanco
Gracias
Hola Olga,
hay una clase toba_xml en el directorio php/lib, si bien no usa la misma libreria para crear el documento, quizas es un poco mas intuitiva en el manejo.
De todas maneras no estas muy lejos me parece
function crear_xml()
{
$doc = new DOMDocument("1.0", 'iso-8859-1');
$datos = $doc->createElement("Datos");
$nodo = $doc->appendChild($datos);
$datos_anexos = $doc->createElement('datos_anexos');
$actual = $nodo->appendChild($datos_anexos);
$result=($this->dep('datos_ws')->get_datos_persona(($this->s__filtro['cuit'])));
$row = 0;
foreach ($result as $archivo){
$datos_anexos = $doc->createElement("datos_anexos");
$datos_anexos->setAttribute("cuit",$result[$row]['cuit']);
$datos_anexos->setAttribute("razon", $result[$row]['razon']);
$actual = $actual->appendChild($datos_anexos);
$row ++;
}
return $doc;
}
Fijate si la estructura se corresponde con la que querias armar, en particular… el ei_arbol lo pondria en la funcion que llama a esta otra… para ver que esta devolviendo lo que debe y no un objeto vacio. La otra es que le pases el nombre de archivo como parametro y hagas el save directamente dentro de esta funcion, ahi te sacas todas las complicaciones.
Saludos
Hola !! Finalmente he logrado crear el archivo .xml, lo llevo a disco local y lo levanto con ireport, hasta ahi todo barbaro
El problema que me queda es que el archivo .pdf que genera el vista_jasperreport se genera en blanco. he probado de generar un reporte con base de datos y funciona bien, pero no con .xml. Podria alguien indicarme que le falta a la función ??
function vista_jasperreports(toba_vista_jasperreports $report)
{
$this->exportar_xml_ireport(true);
$report->set_path_reporte($this->get_reporte_template());
$report->set_nombre_archivo($this->get_reporte_nombre());
}
MUCHAS GRACIAS
Hola, a mi funcion vista_jasperreport le agregue esta linea
$report->set_xml($this->crear_xml_2());
creo que estoy mas cerca, porque ahora me da este error
Probable fatal error:No fonts found.
Si pueden ayudarme, Gracias.
Hola, gracias, ya pude solucionar todos los problemas, el ultimo error era por cuestiones de librerias, los técnicos de la Secretaría me ayudaron a resolverlo.
Hola Olga,
buenisimo, si el tema de las fuentes es para dolores de cabeza, sobre todo si estas usando distinto SO entre el iReport y el servidor que genera el reporte.
Que bueno que te quedo funcionando, bien ahi!
Saludos