He buscado en el foro y no he encontrado una solucion a mi inconveniente y es el siguiente debo crear un archivo plano con las siguientes caracteristicas:
121452 ACETAMINOFEN CAP 3 123
414124 ASPIRINA AMERICAN 12 2400
15043 BROMATINA CAPSUL 122 21000
como pueden ver los 6 primeros numeros es un codigo de 6 digitos y deben estar alineados a la derecha, despues sigue un espacio, despues el nombre del producto de 16 caracteres, despues siguen dos espacios y viene la cantidad de 3 digitos alineados a la derecha, despues dos espacios y despues viene el valor alineado a la derecha; no he podido lograr crear el archivo plano con estas caracteristicas. El total de la linea es 38 caracteres lo cual lo hago con str_pad.
Voy a pegar el codigo que he hecho hasta ahora...
Cita:
Agradezco la ayuda y sugerencias que me puedan brindar. <?php
header("Pragma: no-cache");
header("Cache-control: private");
ob_start();
$item = 713358;
$cantidad = '3';
$cantidad = str_pad($cantidad, 3, " ", STR_PAD_RIGHT);
$NombMedica = trim('LORATADINA 10 MG PLUA');
$NombMedica = substr($NombMedica,0,16);
$ValorMedica = round(1500,0);
$Linea = $Linea.$item." $NombMedica ".str_pad($cantidad, 3, "0", STR_PAD_RIGHT)." $ValorMedica\r\n";
$Linea = str_pad($Linea, 38, " ", STR_PAD_BOTH);
$ValorTotal = $ValorTotal + $ValorMedica;
$NombMedica = trim('BROMOCRIPTINA 2 MG IP');
$NombMedica = substr($NombMedica,0,16);
$item = 713360;
$cantidad = '15';
$cantidad = str_pad($cantidad, 3, " ", STR_PAD_RIGHT);
$ValorMedica = round(15000,0);
$Linea = $Linea.$item." $NombMedica ".str_pad($cantidad, 3, "0", STR_PAD_RIGHT)." $ValorMedica\r\n";
$Linea = str_pad($Linea, 38, " ", STR_PAD_BOTH);
$ValorTotal = $ValorTotal + $ValorMedica;
$Total = "****** TOTAL $".round($ValorTotal,0)." ******";
$Total = str_pad($Total, 38, " ", STR_PAD_BOTH);
$TextoFactura = $Linea."\r\n".
$Total."\r\n";
echo $TextoFactura;
$size = ob_get_length();
header('Content-Length: '.($size));
header("Content-Disposition: inline; filename=factura.fac");
header("Content-type: application/unafactura");
ob_end_flush();
?>
header("Pragma: no-cache");
header("Cache-control: private");
ob_start();
$item = 713358;
$cantidad = '3';
$cantidad = str_pad($cantidad, 3, " ", STR_PAD_RIGHT);
$NombMedica = trim('LORATADINA 10 MG PLUA');
$NombMedica = substr($NombMedica,0,16);
$ValorMedica = round(1500,0);
$Linea = $Linea.$item." $NombMedica ".str_pad($cantidad, 3, "0", STR_PAD_RIGHT)." $ValorMedica\r\n";
$Linea = str_pad($Linea, 38, " ", STR_PAD_BOTH);
$ValorTotal = $ValorTotal + $ValorMedica;
$NombMedica = trim('BROMOCRIPTINA 2 MG IP');
$NombMedica = substr($NombMedica,0,16);
$item = 713360;
$cantidad = '15';
$cantidad = str_pad($cantidad, 3, " ", STR_PAD_RIGHT);
$ValorMedica = round(15000,0);
$Linea = $Linea.$item." $NombMedica ".str_pad($cantidad, 3, "0", STR_PAD_RIGHT)." $ValorMedica\r\n";
$Linea = str_pad($Linea, 38, " ", STR_PAD_BOTH);
$ValorTotal = $ValorTotal + $ValorMedica;
$Total = "****** TOTAL $".round($ValorTotal,0)." ******";
$Total = str_pad($Total, 38, " ", STR_PAD_BOTH);
$TextoFactura = $Linea."\r\n".
$Total."\r\n";
echo $TextoFactura;
$size = ob_get_length();
header('Content-Length: '.($size));
header("Content-Disposition: inline; filename=factura.fac");
header("Content-type: application/unafactura");
ob_end_flush();
?>