<?php
//---------------------------------------------------------------------------------------------------------
// 20/Noviembre/2015
// Versión 1.0 Fichero para mostrar la descarga del fichero de factura
// // 30/Noviembre/2015
// Version 1.1 Añadida una linea de identificacion que faltaba
//---------------------------------------------------------------------------------------------------------
//$numero_fichero = dame_valor_variable_global("factura", NULL);
if ($numero_fichero != NULL) {
    $factura = new Factura($numero_fichero, true, false, false, true);
    if ($factura->codigo > 0) {
	header("Content-Type: text/html; charset=ISO-8859-1");
	header("Content-Disposition: attachment; filename=factu$numero_fichero.txt");
	/* Registro indentificacion Global */
	$rI = "I";
	$rI .="N"; //Tipo de formato
	$rI .="FACTUL";   //Identif. de Información
	$rI .="01"; //version de la informacion
	$rI .="LIBnnnnn";  //Emisor Usuario ESFANDE
	$rI .="LIBnnnnn";  //Receptor Usuario ESFANDE
	$rI .="00000";   //Cantidad de registros
	$rI .="0000000";  //Numero de trasmisor
	$rI .="			   "; //Usuario local del emisor
	$rI .="			   "; //Usuario local del destino
	$rI .="	   ";   //Texto libre
	$rI .= "FANDE";   //FANDE;
        /*Registro de identificación Factura*/
        $rIF = "I";
        $rIF .= str_pad("origen@mail.com", 50, " ", STR_PAD_RIGHT);//E-mail origen
        $rIF .= str_pad("destino@mail.com", 50, " ", STR_PAD_RIGHT);//E-mail destino
        $rIF .="FACTUL";   //Tipo de fichero
        $rIF .= "01";//Version del fichero
        $rIF .= "        ";//Nº de transmisión emisor        
	/* Registro de Cabecera */
	$rC = "C";     //Tipo de registro
	$rC .= str_pad(Shop::$empresa->nombre_legal, 40, " ", STR_PAD_RIGHT);  // Nomre proveedor
	$rC .= str_pad($factura->cliente->nombre_legal, 40, " ", STR_PAD_RIGHT); //Nombre Cliente
	$rC .= str_pad($factura->num_doc, 10, "0", STR_PAD_LEFT); // Numero factura
	$rC .= date_format($factura->fecha_date_format, "Ymd"); //Fecha factura
	$rC .= "E"; //Moneda
	/* Registro detalle */
	$rD = "";
	foreach ($factura->albaranes as $key => $objeto) {
	    $rD .= "D"; //Tipo de registro
	    $rD .= str_pad($objeto->num_doc, 10, " ", STR_PAD_RIGHT); //Numero de albaran
	    $rD .= date_format($objeto->fecha_date_format, "Ymd"); //Fecha
	    $rD .= str_pad($objeto->total_albaran * 100, 10, "0", STR_PAD_LEFT); //Importe
	    $rD .="\r\n";
	}
	/* Registro de desglose de IVA de detalle */
	/* iva1 */
	$rDID = "E"; //registro
	$rDID .= str_pad($factura->num_doc, 10, STR_PAD_LEFT); //albaran
	$rDID .= str_pad($factura->iva1, 5, "0", STR_PAD_LEFT); //porcentaje iva
	$rDID .= $factura->base1; //base imponible
	$rDID .= $factura->imp_iva1; //iva
	$rDID .= str_pad($factura->recargo1, 10, STR_PAD_LEFT); //%REQ
	$rDID .= $factura->imp_recargo1; //REQ
	/* iva2 */
	$rDID2 = "E"; //registro
	$rDID2 .= str_pad($factura->num_doc, 10, "0", STR_PAD_LEFT); //albaran
	$rDID2 .= str_pad($factura->iva2, 5, "0", STR_PAD_LEFT); //porcentaje iva
	$rDID2 .= $factura->base2; //base imponible
	$rDID2 .= $factura->imp_iva2; //iva
	$rDID2 .= $factura->recargo2; //%REQ
	$rDID2 .= $factura->imp_recargo2; //REQ
	/* iva3 */
	$rDID3 = "E"; //registro
	$rDID3 .= str_pad($factura->num_doc, 10, "0", STR_PAD_LEFT); //albaran
	$rDID3 .= str_pad($factura->iva3, 5, "0", STR_PAD_LEFT); //porcentaje iva
	$rDID3 .= $factura->base3; //base imponible
	$rDID3 .= $factura->imp_iva3; //iva
	$rDID3 .= $factura->recargo3; //%REQ
	$rDID3 .= $factura->imp_recargo3; //REQ
	/* iva4 */
	$rDID4 = "E"; //registro
	$rDID4 .= str_pad($factura->num_doc, 10, STR_PAD_LEFT); //albaran
	$rDID4 .= str_pad($factura->iva4, 5, "0", STR_PAD_LEFT); //porcentaje iva
	$rDID4 .= $factura->base4; //base imponible
	$rDID4 .= $factura->imp_iva4; //iva
	$rDID4 .= $factura->recargo4; //%REQ
	$rDID4 .= $factura->imp_recargo4; //REQ
	/* Mostramos el contenido */
echo $rI."\r\n";
echo $rIF."\r\n";
echo $rC."\r\n";
echo $rD; 
echo $rDID."\r\n"; 
echo $rDID2."\r\n";
echo $rDID3."\r\n";
echo $rDID4."\r\n";
    } else {
	?>
	<p class="error_sinli"><?= traducir("No se ha podido cargar la factura"); ?></p>
	<?php
    }
}
?>