Imprimir página | Cerrar ventana

Firma electrónica de facturae errónea

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86916
Fecha de impresión: 26/Marzo/2026 a las 19:24


Tema: Firma electrónica de facturae errónea
Publicado por: pascual14
Asunto: Firma electrónica de facturae errónea
Fecha de publicación: 25/Abril/2024 a las 10:24
Hola amigos, estoy todavía con la generación de factura electrónica y la firma. Ya he conseguido que genere bien el XML y que abra la firma con autofirma pero no sé que hago mal que el fichero firmado al ir a subirlo a FACE me dice que es un formato erróneo, sin embargo si cojo el XML sin firmar y lo firmo a mano con autofirma si que me lo coge bien ¿que hago mal? Lo que si veo es que si lo hago con autofirma me mete los códigos de la firma al final del XML y si o hago desde access me los mete al principio. Esta es la función que uso para firma el XML. Gracias por la ayuda. 

Private Sub FirmaXML(strRutaXML As String)
   Dim LineaComando As String
   Dim RetVal
   Dim rutaXSIG As String
   rutaXSIG = Left(strRutaXML, Len(strRutaXML) - 4)
   LineaComando = "sign -i " & strRutaXML & " -o " & rutaXSIG & ".xsig -certgui"
   RetVal = Shell("C:\Program Files\AutoFirma\AutoFirma\autofirma.exe " & LineaComando)
End Sub




Respuestas:
Publicado por: lupecinda
Fecha de publicación: 25/Abril/2024 a las 13:50
Hola
En LineaComando añade la cadena al final: & " -format xades" a ver si te funciona.
Saludos
Carlos 


-------------
Lupita


Publicado por: pascual14
Fecha de publicación: 25/Abril/2024 a las 19:42
Hola, gracias por la ayuda lupecinda pero no me funciona, me hace lo mismo. Compruebo el xml sin firmar y está ok, le digo que me compruebe firmado y me dice: 
  • Formato de la factura es incorrecto, no se pudo determinar la versión de la factura

Private Sub FirmaXML(strRutaXML As String)
   Dim LineaComando As String
   Dim RetVal
   Dim rutaXSIG As String
   rutaXSIG = Left(strRutaXML, Len(strRutaXML) - 4)
   LineaComando = "sign -i " & strRutaXML & " -o " & rutaXSIG & ".xsig -certgui" & " -format xades"
   RetVal = Shell("C:\Program Files\AutoFirma\AutoFirma\autofirma.exe " & LineaComando)
End Sub



Publicado por: pascual14
Fecha de publicación: 25/Abril/2024 a las 19:50
hola de nuevo, me respondo a mi mismo, tenía que poner otro formato: 
Ahora ya me la da como buena, gracias por la ayuda

Private Sub FirmaXML(strRutaXML As String)
   Dim LineaComando As String
   Dim RetVal
   Dim rutaXSIG As String
   rutaXSIG = Left(strRutaXML, Len(strRutaXML) - 4)
   LineaComando = "sign -i " & strRutaXML & " -o " & rutaXSIG & ".xsig -certgui" & " -format facturae"
   RetVal = Shell("C:\Program Files\AutoFirma\AutoFirma\autofirma.exe " & LineaComando)
End Sub


Publicado por: pascual14
Fecha de publicación: 26/Abril/2024 a las 17:44
podeis cerrar el hilo, gracias



Imprimir página | Cerrar ventana