Gracias hmpaquito por contestar.
Ya solventé ese problema. Era el campo "dirección del cliente" que contenía caracteres tales como " º " y al parecer NO los reconoce.
Ahora tengo otro error: Me genera el XML (versión 3.2.1) y lo lee perfectamente cualquier lector de XML (por ejemplo el navegador), Sin embargo, cuando intento validarlo con "FacturaE" (programa específico para firmar digitales en España), me genera un error del tipo:
Id: Borrador-45 && estado de la factura-nº de factura
Error: Error de validación contra esquema XSD
Si consulto el esquema XSD para versión 3.2.1 XML, dice que el nº de factura debe ser "Caracteres máximo 20 dígitos."... y esto lo cumple!!
Si genero un archivo XML a través de "FacturaE" genera un archivo XML muy parecido al mio, donde la estructura "InvoiceNumber" es exactamente igual a la mia y sin embargo SI lo lee perfectamente.
Mi parte del código, donde al validar se genera el ERROR:
- Code: Select all Expand view
FWrite(facturaE,'<InvoiceHeader>'+ CRLF )
FWrite(facturaE,'<InvoiceNumber>'+alltrim(str(gesfactu->numticket))+'</InvoiceNumber>'+ CRLF )
FWrite(facturaE,'<InvoiceSeriesCode>Borrador-</InvoiceSeriesCode>'+ CRLF )
FWrite(facturaE,'<InvoiceDocumentType>'+iif(gesfactu->fsimpli=.t.,'FA','FC')+'</InvoiceDocumentType>'+ CRLF )
FWrite(facturaE,'<InvoiceClass>'+iif(gesfactu->LRECTIFI=.t.,'OR','OO')+'</InvoiceClass>'+ CRLF )
FWrite(facturaE,'</InvoiceHeader>'+ CRLF )
La cabecera de mi archivo XML es copia exacta a la que genera FacturaE, tal cual:
- Code: Select all Expand view
facturaE := fCreate(cficheroXML,0) && nombre del fichero facturae: F_nºfactura/año factura.XML
FWrite(facturaE,'<?xml version="1.0" encoding="ISO-8859-1"?>')
FWrite(facturaE,'<fe:Facturae xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:fe="http://www.facturae.es/Facturae/2014/v3.2.1/Facturae">'+ CRLF)
FWrite(facturaE,'<FileHeader>'+ CRLF )
FWrite(facturaE,'<SchemaVersion>3.2.1</SchemaVersion>'+ CRLF )
FWrite(facturaE,'<Modality>I</Modality>'+ CRLF )
FWrite(facturaE,'<InvoiceIssuerType>EM</InvoiceIssuerType>'+ CRLF )
...
...
¿ Donde puede estar el fallo?
Por favor, algún alma caritativa....
Mil gracias.
LORENZO.