Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/03/2012, 22:13
tattojk
 
Fecha de Ingreso: febrero-2005
Mensajes: 673
Antigüedad: 19 años, 2 meses
Puntos: 2
Pregunta crear archivo plano con cierta estructura

Cordial saludo.

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:
<?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();
?>
Agradezco la ayuda y sugerencias que me puedan brindar.