Foros del Web » Administración de Sistemas » Unix / Linux »

Creacion de XML desde TXT para Factura Electronica

Estas en el tema de Creacion de XML desde TXT para Factura Electronica en el foro de Unix / Linux en Foros del Web. Buenos dias, tengo un cliente que se ve en la necesidad de emitir factura electronica en formato e.FACT a las administraciones publicas ESPAÑOLAS, gogleando encontre ...
  #1 (permalink)  
Antiguo 17/01/2015, 04:48
Avatar de barna_rasta  
Fecha de Ingreso: agosto-2003
Mensajes: 214
Antigüedad: 20 años, 8 meses
Puntos: 11
Creacion de XML desde TXT para Factura Electronica

Buenos dias,
tengo un cliente que se ve en la necesidad de emitir factura electronica en formato e.FACT a las administraciones publicas ESPAÑOLAS, gogleando encontre el formato del XML, y necesitaria saber si alguien conoce la forma
de generar el XLM importando los datos desde un fichero TXT que es el formato que la gestion de facturacion puede exportar.
La idea seria seleccionar los datos a incorporar al TXT y posteriormente tratarlo desde PHP, PERL, PYTHON, ....
para conseguir el XML.

La documentacion que encontre es la siguiente:
http://www.facturae.gob.es/formato/u...mplo2_32v1.xml
http://www.facturae.gob.es/formato/u...llano_v3_2.pdf

Gracias
  #2 (permalink)  
Antiguo 17/01/2015, 15:17
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 8 meses
Puntos: 401
Respuesta: Creacion de XML desde TXT para Factura Electronica

Que tal con print?

Código :
Ver original
  1. open(FILE1, "<datoejemplo.txt");
  2. open(FILE2, ">datoejemplo.xml");
  3. print FILE2 "<?xml version='1.0' encoding='iso-8859-1' ?><mixml>";
  4. while (my $linea = <FILE1>){
  5.    my ($campo1,$campo2,$campo3,$campo4) = split(/\,/,$linea);
  6.    print FILE2 "<record><dato-ejem>$campo1</dato-ejem><indate>$campo2</indate><outdate>$campo3</outdate><conf>$campo4</conf></record>";
  7. }
  8. print FILE2 "</mixml>";
  9. close(FILE1);
  10. close(FILE2);
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #3 (permalink)  
Antiguo 18/01/2015, 14:30
Avatar de barna_rasta  
Fecha de Ingreso: agosto-2003
Mensajes: 214
Antigüedad: 20 años, 8 meses
Puntos: 11
Respuesta: Creacion de XML desde TXT para Factura Electronica

Gracias por la idea LAUSER,
sabiendo a que corresponde cada campo del fichero origen y la disosicion para crear el XML es faena de chinos pero me volque inicialmente en tu idea.

Por el momento tengo:
Código:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<fe:Facturae xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:fe="http://www.facturae.es/Facturae/2009/v3.2/Facturae">
<FileHeader>
<SchemaVersion>3.2</SchemaVersion>
<Modality>I</Modality>
<InvoiceIssuerType>EM</InvoiceIssuerType>
<Batch>
<BatchIdentifier>743532 </BatchIdentifier>
<InvoicesCount>1</InvoicesCount>
<TotalInvoicesAmount>
<TotalAmount>       831.14</TotalAmount>
</TotalInvoicesAmount>
<TotalOutstandingAmount>
<TotalAmount>831.14      </TotalAmount>
</TotalOutstandingAmount>
<TotalExecutableAmount>
<TotalAmount>831.14      </TotalAmount>
</TotalExecutableAmount>
<InvoiceCurrencyCode>EUR</InvoiceCurrencyCode>
</Batch>
</FileHeader>
La diferencia con el codigo base XML es que el generado no contiene sangrias
y no si si eso puede ser un inconveniente.

Gracias
  #4 (permalink)  
Antiguo 18/01/2015, 15:43
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 8 meses
Puntos: 401
Respuesta: Creacion de XML desde TXT para Factura Electronica

Cita:
no si si eso puede ser un inconveniente
Desconozco ese dato, pero a fin de cuentas la lectura sera la misma. Pero la verdad es que no lo se.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #5 (permalink)  
Antiguo 19/01/2015, 06:11
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Creacion de XML desde TXT para Factura Electronica

En principio no debería ser un problema, ya que se trate de "un salto de línea" o "un salto de línea seguido de espacios", en el árbol del XML será solamente un nodo de texto.
Eso es la teoría, en la práctica sabemos que no siempre se utilizan las mejores herramientas para estos casos, y más de un caso he encontrado donde se obtenían los datos de un XML vía expresiones regulares :S

Una pasada por "xmllint --format" es la forma más sencilla de darle el sangrado al XML.


Saludos.
  #6 (permalink)  
Antiguo 19/01/2015, 16:56
Avatar de barna_rasta  
Fecha de Ingreso: agosto-2003
Mensajes: 214
Antigüedad: 20 años, 8 meses
Puntos: 11
Respuesta: Creacion de XML desde TXT para Factura Electronica

Cita:
Iniciado por AlvaroG Ver Mensaje
en la práctica sabemos que no siempre se utilizan las mejores herramientas para estos casos, y más de un caso he encontrado donde se obtenían los datos de un XML vía expresiones regulares :S
Una pasada por "xmllint --format" es la forma más sencilla de darle el sangrado al XML.
Saludos.
Genial el xmllint !!!!!!
y comentando tonterias.....................ya me tope con la primera que me mato unas buenas horas...
Código:
  <FileHeader>
    <SchemaVersion>3.2</SchemaVersion>
    <Modality>I</Modality>
    <InvoiceIssuerType>EM</InvoiceIssuerType>
    <Batch>
      <BatchIdentifier>737435</BatchIdentifier>
      <InvoicesCount>1</InvoicesCount>
      <TotalInvoicesAmount>
        <TotalAmount>000001267.77</TotalAmount>
      </TotalInvoicesAmount>
      <TotalOutstandingAmount>
        <TotalAmount>000001267.77</TotalAmount>
      </TotalOutstandingAmount>
      <TotalExecutableAmount>
        <TotalAmount>000001267.77</TotalAmount>
      </TotalExecutableAmount>
      <InvoiceCurrencyCode>EUR</InvoiceCurrencyCode>
    </Batch>
  </FileHeader>
Los datos tienen que ser de una longitud predefinida y con relleno de ceros a izquierda !!!! :(
cierto que en el manual lo pone y desesperado alli lo encontre despues de leer tu comentario,
pero ................................. tratandose de XML, quien lo iba a pensar !!!!!

1000 gracias, por el momento esto va saliendo y la validacion con xmllint --validate esta siendo muy util.
  #7 (permalink)  
Antiguo 20/01/2015, 06:31
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Creacion de XML desde TXT para Factura Electronica

bueno, eso no tiene por qué ser culpa del uso de expresiones regulares, bien puede ser por estar aplicando un XSD.

Me alegro de que te sirviera, no dudes en preguntar si aparece algún otro problema :)

Etiquetas: electronica, factura, txt, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:32.