Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Providers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-10-2006
diegosz diegosz is offline
Registrado
 
Registrado: oct 2006
Posts: 5
Poder: 0
diegosz Va por buen camino
Consulta sobre activeX

Hola a todos,

tengo una duda que me está volviendo un poco loco sobre la codificación de la factura electrónica de la aeat. Bien, he revisado la documentación que ofrece la aeat, el centro de cooperacion interbancaria, y enlaces a partir de ellos pero aún tengo una pequeña duda acerca del uso del control de firma/verificación que se proporciona con respecto al esquema xml del formato de factura electrónica en el apartado de la firma (<signature>....</signature>). En los ejemplos que se pueden descargar de facturas firmadas, aparece la información de la firma (<signature>..</signature>) perfectamente rellenada.

Mi pregunta es, que si de esta parte se hace cargo el activex con su método FIRMA, es decir, si una vez que se tiene la factura completa (documento xml), este método se encarga de generar la información de la firma que falta, o si manualmente, tengo que hacer el cifrado con mi certificado del hash de la factura y adjuntarlo al final del fichero xml como otro tag más y a ello, aplicar el método FIRMA a todo. En pocas palabras, ¿cómo procedo una vez que genero el xml con el contenido sin firma?

No comprendo bien esta parte, la verdad. Os agradecería enormemente que me ayudáseis a aclarar esta parte final de la factura o algún ejemplo claro de dicho proceso porque nadie me orienta.

Un saludo a todos, Diego Sanz.
diegosz01@yahoo.es
Responder Con Cita
  #2  
Antiguo 06-11-2006
Avatar de adebonis
adebonis adebonis is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 145
Poder: 22
adebonis Va por buen camino
Hola.

Yo hago lo siguiente:

Genero la factura en formato pdf, la firmo y la envío por correo electrónico. La firma de la factura la realiza el método Firma. Fíjate que el método firma necesita del archivo origen a firmar, el número de NIF del emisor de la factura (debe estar instalado el certificado digital) y el archivo resultante ya firmado.

utilizo el siguiente código:

Código Delphi [-]
var
  Inicio, Final: WideString;
  Aeat: Variant;
begin
    dmSgp.Export1.Report := Listado;
    dmSgp.Export1.ExportQRPDF(varDirExe+ 'Temp\'+ NombreFacTel, True, False);
    Inicio := varDirExe+ 'Temp\'+ NombreFacTel+ '.pdf';
    Final := varDirExe+ 'Temp\'+ NombreFacTel+ '.F64';;
    Aeat := CreateOleObject('AeatFact.AeatFactCtl');
    try
    CodiFirma := Aeat.FIRMA(Inicio, NifEmi, Final);
    if Copy(CodiFirma, 1, 2) <> '00' then
      Mensaje('ERROR en la generación de la Factura telématica.'+ #13+ Copy(CodiFirma, 4, 100)+ '.')
    else begin
      CopyFile(PChar(varDirExe+ 'Temp\'+ NombreFacTel+ '.F64'), PChar(varDirIni+ '\FacturasEmitidas\'+ NombreFacTel+ '.F64'), False);
      with dmSgp.sqlSgp do begin
        sql.Clear;
        sql.Add('insert into sgp20Fte values (:Num, 0, es)');
        ParamByName('Num').AsInteger := Factura;
        ParamByName('Des').AsString := NombreFacTel+ '.F64';
        ExecSql;
      end;
      fMensaje.EnviaEmilio(varAsunto, Nombre, Eml, varDirIni+ '\FacturasEmitidas\'+ NombreFacTel+'.F64', TexAsu, True, 0);
    end;
    finally
    Aeat := Unassigned;
    end;
end;

Bueno, coméntame cualquier cosa si lo necesitas.

Adolfo Bonis Mora
Adolfo
Responder Con Cita
  #3  
Antiguo 07-11-2006
diegosz diegosz is offline
Registrado
 
Registrado: oct 2006
Posts: 5
Poder: 0
diegosz Va por buen camino
¿Se trata de una recomendación lo detalla AEAT?

Hola Adolfo,

gracias por la información y por el código. Relacionado con el pdf que
generas, supongo que preparas una factura "de las de toda la vida" (al
cliente, concepto, detalle de factura, importe, iva, etc...) y eso es
lo que recibe el cliente, que tendrá que encapsular el método verifica
para el proceso inverso y acceder al contenido original, ¿no?. Entonces,
¿qué pasa con el formato xml este que detalla la AEAT? Pensaba que el
formato que debíamos seguir era el del xml comentado y dicho archivo es
el que debía hacerse todo el procesado de firma. ¿Se trata de una
recomendación?

Gracias por haberte molestado,

Un saludo, Diego.
diegosz01@yahoo.es
Responder Con Cita
  #4  
Antiguo 07-11-2006
Avatar de adebonis
adebonis adebonis is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 145
Poder: 22
adebonis Va por buen camino
Hola.

Me parece que el formato XML que indicas sólo debe utilizare para las empresas que se relacionan con la Agencia Tributaria según consta en su Web cuando dicen: "Los enlaces que figuran a continuación contienen las especificaciones de la e-factura que será aceptada por la Agencia Tributaria en las relaciones con sus proveedores derivadas de la contratación de obras, suministros, asistencias técnicas y servicios". Creo que para el resto de los mortales puede utilizarse cualquier tipo de archivo y como yo voy cómodo con el pdf pues lo utilizo.

Cierto, es una factura generada por QuickReport y que convierto a pdf.

Espero servirte de ayuda.

Adolfo Bonis Mora
Barcelona
Responder Con Cita
  #5  
Antiguo 08-11-2006
diegosz diegosz is offline
Registrado
 
Registrado: oct 2006
Posts: 5
Poder: 0
diegosz Va por buen camino
Sólo una cuestión del certificado para método firma

Gracias de nuevo Adolfo, de veras,

me has aclarado bastante este tema. Por otra parte, me queda una cuestión más sobre a la hora de firmar. Una vez tenga el certificado de la FNMT, cómo lo integro en mi aplicación, es decir, la ayuda de la aeat comentaba que se debe instalar en el bando de certificados de internet explorer, es decir, navegadores web, pero ¿cómo puedo hacer uso de mi certificado para integrarlo con el control activex que proporcionan?

Saludos, Diego.
diegosz01@yahoo.es
Responder Con Cita
  #6  
Antiguo 08-11-2006
Avatar de adebonis
adebonis adebonis is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 145
Poder: 22
adebonis Va por buen camino
Hola.

No debes hacer nada,el método FIRMA los busca y lo utiliza, naturalmente deben coincidir los NIF del Certificado y el que le pasas al método FIRMA.

Un saludo
Adolfo Bonis Mora
Barcelona
Responder Con Cita
  #7  
Antiguo 08-11-2006
oscarnoe oscarnoe is offline
Miembro
 
Registrado: jul 2006
Posts: 60
Poder: 18
oscarnoe Va por buen camino
Me pico la curiosidad, es un tema harto interesante... pero como siempre, por una vez que queremos innovar, nos salimos del estandar europeo.

http://inza.wordpress.com/2006/05/04/xml-cci/

Oscar Noe
__________________
No dejes camino viejo por sendero nuevo
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


La franja horaria es GMT +2. Ahora son las 12:41:51.


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