Ver Mensaje Individual
  #51  
Antiguo 16-01-2025
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.215
Reputación: 24
newtron Va camino a la fama
Ok. Creo que ya he conseguido enviar facturas en modo NO Verifactu. Resumo un poco lo que he hecho por si a alguien le viene bien.


Partimos de la base de que las facturas las tengo en una carpeta del disco duro firmadas. Para generar los ficheros de las facturas de forma simple lo que hago es rellenar el objeto SOAP igual que si lo fuera a enviar en modo Verifactu y desde ahí lo paso a un string que firmo y guardo en formato .XML en el disco. Tengo un fichero por cada factura. El código para guardar el fichero a partir del objeto SOAP lo saqué de por aquí, la verdad es que no recuerdo el hilo. La firma la hago con una dll que me hicieron en .net y parece que firma correctamente para Verifactu. Si a alguien le viene bien se la puedo pasar.


Una vez que tengo los ficheros con las facturas en el disco lo que hago es crear un fichero .XML "a pelo", le meto los datos de la cabecera, luego voy abriendo los ficheros XML de las facturas y los voy añadiendo a este fichero y al final cierro los nodos de la cabecera. Luego hago una llamada "tontuna" al HTTPRIO e intercepto el evento "OnBeforeExecute" sustituyendo el stream que envía por un stream creado a partir de este fichero .XML (código más arriba) y... ¡voilá! me da resultado correcto de todas las facturas que he metido en el fichero .XML que he creado.


Un problema que me he encontrado es que al guardar el fichero de cada factura con las llamadas SOAP algunos de los nodos no los nombra bien, les pone <item> y he tenido que localizarlos y cambiarlos por su valor correcto según iba creando el fichero .XML


Igual me he complicado mucho la vida pero no encontraba por aquí ningún ejemplo de envío NO Verifactu, si alguien sabe una forma más fácil será bien recibido.


Saludos.
__________________
Be water my friend.
Responder Con Cita