Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Registros de Facturacion y Eventos (XML)
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 15-11-2024
Sandy656 Sandy656 is offline
Miembro
 
Registrado: jul 2006
Posts: 21
Poder: 0
Sandy656 Va por buen camino
Ok. Estaremos atentos a ver cuando se puede hacer.

Gracias a todos!!
Responder Con Cita
  #22  
Antiguo 25-11-2024
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 108
Poder: 10
razorxxx Va por buen camino
¿Alguno de ustedes sabe si la firma que piden para los XML es la misma que para FACe? Lo pregunto porque igual me vale la misma rutina que tenía.

En cuanto a los mensajes SOAP, interpreto que no van firmados, sino que se les adjunta el certificado en el método NodeBeforePost del objeto HTTPRIO, ¿verdad?
Responder Con Cita
  #23  
Antiguo 29-11-2024
Maska10 Maska10 is offline
Miembro
 
Registrado: abr 2020
Posts: 48
Poder: 0
Maska10 Va por buen camino
Buenas a todos, estoy intentando firmar el fichero con autofirmacommandline con el siguiente comando:

Código:
/v:1 /c AutoFirmaCommandLine.exe sign -i "C:\SYSME\SGC\efactura\efacturas\fs-F198.xml" -o "C:\SYSME\SGC\efactura\efacturassigned\fs-F198.xml" -store pkcs12:"G:\sysme\docs\SYSME2023.p12" -filter "imported" -password "xxxxxx" -format xades -xml -config "format=XAdES Enveloped \npolicyIdentifier=urn:oid:2.16.724.1.3.1.1.2.1.9 \npolicyIdentifierHashAlgorithm=http://www.w3.org/2001/04/xmlenc#sha256 \npolicyQualifier=https://sede.administracion.gob.es/politica_de_firma_anexo_1.pdf" > resultado.txt
El resultado es de error porque el fichero no es un XML válido por los prefijos (sum

?????
Responder Con Cita
  #24  
Antiguo 19-12-2024
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.905
Poder: 22
newtron Va camino a la fama
Hola a tod@s de nuevo.


Después de algunas semanas ocupado en cambiar mi ordenador estoy retomando de nuevo el tema VeriFactu y quería ver si alguien había hecho ya algo sobre la remisión por requerimiento. Entiendo que hay que añadir en el campo "signature" el fichero XML original firmado pero estoy viendo que el campo es del tipo "signature".


¿Alguien está haciendo ya remisión de esos datos? ¿Alguien puede confirmarme que en el campo "signature" hay que insertar el xml firmado o es de otra manera? y en caso de serlo cómo se informa ese campo a partir del XML firmado.


Gracias y un saludo.
__________________
Be water my friend.
Responder Con Cita
  #25  
Antiguo 19-12-2024
Maska10 Maska10 is offline
Miembro
 
Registrado: abr 2020
Posts: 48
Poder: 0
Maska10 Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Hola a tod@s de nuevo.


Después de algunas semanas ocupado en cambiar mi ordenador estoy retomando de nuevo el tema VeriFactu y quería ver si alguien había hecho ya algo sobre la remisión por requerimiento. Entiendo que hay que añadir en el campo "signature" el fichero XML original firmado pero estoy viendo que el campo es del tipo "signature".


¿Alguien está haciendo ya remisión de esos datos? ¿Alguien puede confirmarme que en el campo "signature" hay que insertar el xml firmado o es de otra manera? y en caso de serlo cómo se informa ese campo a partir del XML firmado.


Gracias y un saludo.
No no, a ver, al firmar el fichero original, el proceso de firma ya incluye el <ds:Signature en el fichero firmado, simplemente firma con la tipología y parámetros que te indican y listo
Responder Con Cita
  #26  
Antiguo 20-12-2024
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.905
Poder: 22
newtron Va camino a la fama
Cita:
Empezado por Maska10 Ver Mensaje
No no, a ver, al firmar el fichero original, el proceso de firma ya incluye el <ds:Signature en el fichero firmado, simplemente firma con la tipología y parámetros que te indican y listo

Ahhhh... ok. Entonces... a ver si me entero. Yo guardo el .XML firmado en una carpeta. En caso de remisión por requerimiento lo único que tendría que hacer sería enviar directamente ese fichero. ¿Es correcto?


Gracias y un saludo.
__________________
Be water my friend.
Responder Con Cita
  #27  
Antiguo 20-12-2024
Maska10 Maska10 is offline
Miembro
 
Registrado: abr 2020
Posts: 48
Poder: 0
Maska10 Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Ahhhh... ok. Entonces... a ver si me entero. Yo guardo el .XML firmado en una carpeta. En caso de remisión por requerimiento lo único que tendría que hacer sería enviar directamente ese fichero. ¿Es correcto?


Gracias y un saludo.
Exacto, logicamente añadiendo la cabecera del envio y tal .. también ten cuidado porque al firmarlo (en mi caso con autofirmacommandline) me añade <?xml version="1.0" encoding="UTF-8"?> al inicio y esto hay que eliminarlo en cada fichero para enviarlo.
Responder Con Cita
  #28  
Antiguo 20-12-2024
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 108
Poder: 10
razorxxx Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Ahhhh... ok. Entonces... a ver si me entero. Yo guardo el .XML firmado en una carpeta. En caso de remisión por requerimiento lo único que tendría que hacer sería enviar directamente ese fichero. ¿Es correcto?


Gracias y un saludo.
Si bien el Reglamento no especifica cómo los desarrolladores deben almacenar la información, por los principios de "integridad e inalterabilidad" yo que tú no guardaría los XML como ficheros sueltos en una carpeta, ya que cualquier persona de la red podría acceder a ellos y manipularlos, borrarlos, etc. Otra cosa sería que lo hicieras porque vas a funcionar en modo VeriFactu y se van enviar en breve. Pero para almacenamiento a largo plazo, te recomendaría que guardaras los XML en la base de datos de tu programa.

Es verdad que esto hará crecer el tamaño de la base de datos exponencialmente, pero en teoría sólo los administradores del servidor y/o desarrolladores del programa deberían tener acceso a esa base de datos, y se minimizarían los riesgos.
Responder Con Cita
  #29  
Antiguo 20-12-2024
Maska10 Maska10 is offline
Miembro
 
Registrado: abr 2020
Posts: 48
Poder: 0
Maska10 Va por buen camino
Cita:
Empezado por razorxxx Ver Mensaje
Si bien el Reglamento no especifica cómo los desarrolladores deben almacenar la información, por los principios de "integridad e inalterabilidad" yo que tú no guardaría los XML como ficheros sueltos en una carpeta, ya que cualquier persona de la red podría acceder a ellos y manipularlos, borrarlos, etc. Otra cosa sería que lo hicieras porque vas a funcionar en modo VeriFactu y se van enviar en breve. Pero para almacenamiento a largo plazo, te recomendaría que guardaras los XML en la base de datos de tu programa.

Es verdad que esto hará crecer el tamaño de la base de datos exponencialmente, pero en teoría sólo los administradores del servidor y/o desarrolladores del programa deberían tener acceso a esa base de datos, y se minimizarían los riesgos.
Yo en, Ticket Bai, guardaba los xml firmados en base de datos y a los pocos meses era insoportable, logicamente teniendo en cuenta que los equipos Tpv de los usuarios suelen ser básicos ... al final opté por carpetas.
Responder Con Cita
  #30  
Antiguo 20-12-2024
Avatar de YellowStone
YellowStone YellowStone is offline
Miembro
 
Registrado: feb 2007
Ubicación: Adeje
Posts: 102
Poder: 19
YellowStone Va por buen camino
Cita:
Empezado por Maska10 Ver Mensaje
Exacto, logicamente añadiendo la cabecera del envio y tal .. también ten cuidado porque al firmarlo (en mi caso con autofirmacommandline) me añade <?xml version="1.0" encoding="UTF-8"?> al inicio y esto hay que eliminarlo en cada fichero para enviarlo.

Ojito con quitar o trastocar cosas de un fichero ya firmado, porque entonces la firma pasa a ser incorrecta. Los que vayáis a desarrollar NO VERIFACTU (Dios me libre), acordaros de que tenéis que desarrollar también la parte del registro de eventos.
Responder Con Cita
  #31  
Antiguo 20-12-2024
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 108
Poder: 10
razorxxx Va por buen camino
Cita:
Empezado por Maska10 Ver Mensaje
Yo en, Ticket Bai, guardaba los xml firmados en base de datos y a los pocos meses era insoportable, logicamente teniendo en cuenta que los equipos Tpv de los usuarios suelen ser básicos ... al final opté por carpetas.
El Reglamento nos deja vendidos la verdad, yo también lo primero que pensé fue en que las bases de datos se van a ir por la pata abajo, pero luego te meten miedo con el Reglamento. Se me ocurre también usar carpetas que sólo sean accesibles en el servidor por el programa que realiza los envíos y por un único usuario administrador del servidor, pero que no esté disponible en la red.
Responder Con Cita
  #32  
Antiguo 20-12-2024
Maska10 Maska10 is offline
Miembro
 
Registrado: abr 2020
Posts: 48
Poder: 0
Maska10 Va por buen camino
Cita:
Empezado por YellowStone Ver Mensaje
Ojito con quitar o trastocar cosas de un fichero ya firmado, porque entonces la firma pasa a ser incorrecta. Los que vayáis a desarrollar NO VERIFACTU (Dios me libre), acordaros de que tenéis que desarrollar también la parte del registro de eventos.
Si, eso me preocupaba, pero resulta que ese encabezado que añade autofirma "<?xml version="1.0" encoding="UTF-8"?>" parece no formar parte del resultado de firma, lo quito y me sigue validando como firma correcta, logicamente si tocas cualquier otro caracter ya no valida.
Responder Con Cita
  #33  
Antiguo 20-12-2024
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 108
Poder: 10
razorxxx Va por buen camino
Cita:
Empezado por Maska10 Ver Mensaje
Si, eso me preocupaba, pero resulta que ese encabezado que añade autofirma "<?xml version="1.0" encoding="UTF-8"?>" parece no formar parte del resultado de firma, lo quito y me sigue validando como firma correcta, logicamente si tocas cualquier otro caracter ya no valida.
Correcto amigo, es lo mismo que ya hacíamos para FACe. De hecho, si le dejas lo de <?xml version="1.0" encoding="UTF-8"?> no valida.
Responder Con Cita
  #34  
Antiguo 20-12-2024
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.905
Poder: 22
newtron Va camino a la fama
Cita:
Empezado por Maska10 Ver Mensaje
Exacto, logicamente añadiendo la cabecera del envio y tal .. también ten cuidado porque al firmarlo (en mi caso con autofirmacommandline) me añade <?xml version="1.0" encoding="UTF-8"?> al inicio y esto hay que eliminarlo en cada fichero para enviarlo.

¿Y cómo va eso? Pregunto porque yo los envíos los tengo con llamadas soap y no enviando los ficheros. ¿Qué habría que hacer para montar la cabecera y luego enviar los ficheros? ¿Algún ejemplo por ahí?


Yo firmo con una dll que me prepararon con .net para firmar archivos para facturae hace unos años y la verdad es que no sé todavía si se tragará el fichero. De momento voy a intentar enviarlo a ver qué pasa, cuando averigue cómo, claro.



Gracias y un saludo.
__________________
Be water my friend.
Responder Con Cita
  #35  
Antiguo 20-12-2024
Avatar de YellowStone
YellowStone YellowStone is offline
Miembro
 
Registrado: feb 2007
Ubicación: Adeje
Posts: 102
Poder: 19
YellowStone Va por buen camino
Cita:
Empezado por razorxxx Ver Mensaje
Correcto amigo, es lo mismo que ya hacíamos para FACe. De hecho, si le dejas lo de <?xml version="1.0" encoding="UTF-8"?> no valida.



??? A mi me validan perfectamente con <?xml version="1.0" encoding="UTF-8"?> (Hablo del FACE). Supongo que quizá será porque ya tengo incluida esa primera línea antes de mandar el fichero a firmar.

Última edición por YellowStone fecha: 20-12-2024 a las 17:09:47.
Responder Con Cita
  #36  
Antiguo 30-12-2024
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.905
Poder: 22
newtron Va camino a la fama
Hola de nuevo.


¿No ha conseguido nadie todavía subir con éxito alguna factura en modo NO VeriFACTU?


Saludos y ¡¡Feliz Año!!
__________________
Be water my friend.
Responder Con Cita
  #37  
Antiguo 03-01-2025
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.905
Poder: 22
newtron Va camino a la fama
Ok.


Por si a alguien le viene bien creo que he conseguido enviar registros en modo NO Verifactu a partir de los ficheros XML de las facturas firmados en disco con una pequeña "ñapa".


Lo que he hecho ha sido crear un fichero .xml con la cabecera "a pelo" hasta el nodo "RegistroFactura"

A esto le añado los ficheros xml firmados leyendo cada uno de ellos y al final cierro los nodos.

Una vez creado este fichero hago una llamada SOAP e intercepto el evento "beforeexecute" del objeto HTTPRIO y sustituyo el stream por el del fichero que he generado con el siguiente código:

Código Delphi [-]
  // Cargar el archivo XML desde disco
  XMLFactura := TStringList.Create;
  XMLFactura.LoadFromFile('C:\TEMP\prueba.xml'); // Fichero creado "a pelo"
  // Leer el contenido del flujo SOAPRequest
  RequestStream := TStringStream.Create;
  SOAPRequest.Position := 0;
  RequestStream.CopyFrom(SOAPRequest, SOAPRequest.Size);
  // Convertir el flujo a una cadena para su manipulación
  ModifiedRequest := RequestStream.DataString;
  ModifiedRequest:=XMLFactura.Text;
  // Sobrescribir el contenido del flujo con la solicitud modificada
  RequestStream.Size := 0; // Limpiar el flujo
  RequestStream.WriteString(ModifiedRequest);
  RequestStream.Position := 0;
  // Reemplazar el flujo original con el modificado
  SOAPRequest.Size := 0;
  SOAPRequest.CopyFrom(RequestStream, RequestStream.Size);
  SOAPRequest.Position := 0;
  RequestStream.Free;
  XMLFactura.Free;


Esto hace la llamada SOAP con el fichero que hemos creado y debe de funcionar. Todo esto lo he hecho en pruebas sueltas y me falta implementarlo en mi programa pero creo que funciona, lo digo por si alguien quiere ir trabajando en ello.


Saludos.
__________________
Be water my friend.
Responder Con Cita
  #38  
Antiguo 03-01-2025
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 108
Poder: 10
razorxxx Va por buen camino
Hola a todos.

Cada vez que ejecuto en una consola el AutoFirmaCommandLine.exe me devuelve un warning:

es.gob.afirma.standalone.HDPIManager executeWmicCommand
ADVERTENCIA: Error en la ejecucion del comando [Ljava.lang.String;@380fb434: java.io.IOException: Cannot run program "wmic": CreateProcess error=2, El sistema no puede encontrar el archivo especificado.

Tengo instalado Java y AutoFirma en sus últimas versiones.

¿A alguien más le pasa?
Responder Con Cita
  #39  
Antiguo 03-01-2025
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 108
Poder: 10
razorxxx Va por buen camino
Cita:
Empezado por razorxxx Ver Mensaje
Hola a todos.

Cada vez que ejecuto en una consola el AutoFirmaCommandLine.exe me devuelve un warning:

es.gob.afirma.standalone.HDPIManager executeWmicCommand
ADVERTENCIA: Error en la ejecucion del comando [Ljava.lang.String;@380fb434: java.io.IOException: Cannot run program "wmic": CreateProcess error=2, El sistema no puede encontrar el archivo especificado.

Tengo instalado Java y AutoFirma en sus últimas versiones.

¿A alguien más le pasa?
Me respondo a mí mismo. En Windows 11 hay que instalar WMIC (Windows Management Instrumentation Command-line). Hay que ir a Configuración, en el cuadro de búsqueda escribimos "Características opcionales", luego "Ver características" y en el buscador escribimos WMIC. Lo seleccionamos, le damos a instalar y esperamos a que termine (tarda un rato).
Responder Con Cita
  #40  
Antiguo 03-01-2025
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 108
Poder: 10
razorxxx Va por buen camino
Por cierto, ¿alguien ha conseguido firmar con AutoFirmaCommandline.exe y colocar el nodo <Signature> al final del documento?
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Duda Existencial Verifactu usuario1000 General/Noticias 10 11-11-2024 09:25:56
Consulta QR Verifactu JoseLeeTo Envío de registros y sus respuestas 10 09-11-2024 21:49:21
Cumplir VeriFactu xevi General/Noticias 2 04-11-2024 12:12:40
Respuesta de Verifactu sglorka Envío de registros y sus respuestas 2 30-10-2024 15:40:00
verifactu jguarda Internet 1 03-10-2024 17:48:17


La franja horaria es GMT +2. Ahora son las 18:28:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi