Buenos dias,
Les escribo para realizarles la siguiente consulta. Tenemos implementada una operación que realiza la importación de un archivo, muestra algunos de los campos del mismo; y por ultimo mediante el botón Exportar permite generar otro archivo de texto que toma el importado y le realiza ciertas modificaciones. Ahora, si bien genera el archivo correspondiente y con el formato correcto, no se despliega la ventana de descarga con el siguiente codigo dentro del botón exportar:
function escribirHaberes(){
$header = toba::consulta_php(‘consultasGeneracionDeDatos’)->mostrarHeader();
$detalle = toba::consulta_php(‘consultasGeneracionDeDatos’)->mostrarDetalle();
$foot = toba::consulta_php(‘consultasGeneracionDeDatos’)->mostrarFoot();
$haberesTxt = ‘’;
foreach($header as $headerHaberes){
foreach($headerHaberes as $valor=>$campo){
$haberesTxt.= $headerHaberes[$valor];
}
$haberesTxt.=“\r\n”; //\r = return \n = new line
}
foreach($detalle as $detallePorAgente){
foreach($detallePorAgente as $valor=>$campo){
$haberesTxt.= $detallePorAgente[$valor];
}
$haberesTxt.="\r\n";
}
foreach($foot as $footHaberes){
foreach($footHaberes as $valor=>$campo){
$haberesTxt.= $footHaberes[$valor];
}
$haberesTxt.="\r\n";
}
return $haberesTxt;
} //Fin de funcion escribirHaberes
$pathHaberes['path']='/var/www/proyectos/toba_2.5.0/proyectos/myExport/downloads/HABERES.txt';
$haberes = $pathHaberes['path'];
$fp = fopen($haberes,'w');
fwrite($fp,escribirHaberes());
fclose($fp);
if(is_readable($haberes)){
header('Content-Description: Descarga HABERES.txt');
header('Content-Type: application/x-force-download');
header('Content-Disposition: attachment; filename='.basename($haberes));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($haberes));
ob_clean();
flush();
readfile($haberes);
exit;
}
Lo que hace es mostrar en pantalla lo adjuntado en el archivo UNPA_RESULTADO DE EXPORTACION DE TXT.png
Ahora bien para lograr que aparezca la ventana de descarga una alternativa fue:
- Se creo una nueva operación llamada por ejemplo: generar_txt. En la ficha propiedades básicas, en el desplegable Modelo Página, se elegió la opción “Ninguna - Sin salida”.
- Se creo un ci para esta operación.
- En el el método conf__pant_inicial del ci se copió el código del botón evt__ciExportar() .
- Se quitó el código del botón evt__ciExportar().
- A través de toba editor, se configuraron las propiedades del botón evt__ciExportar() de la siguiente manera:
En acción predefinida se seleccionó Vinculo.
En vinculo carpeta se seleccionó la carpeta donde está la operación generar_txt.
en vinculo ítem se seleccionó la operación generar_txt.
en Vinculo celda de memoria se ingresó un nombre cualquiera, por ejemplo ope_txt.
Y de esta forma anduvo. La consulta es: ¿existe una manera más sencilla de realizar la exportación de un archivo de texto?
Desde ya muchas gracias
Saludos
Paola
Universidad Nacional de la Patagonia Austral

