PDA

Ver la Versión Completa : Control ActiveX de facturación telemática de hacienda


david.bea
29-05-2003, 09:17:17
Hola a todos,

Es la primera vez que escribo aquí, recurro a vosotros porque me
han hablado muy bien de la forma de resolver problemas que
aqui teneis y eso, a ver que.

Ante todo, y puesto que no he leido nada sobre mi presentación,
me permito el lujo de invitar a todos a unas cervezas virtuales . .
Al que no le guste que pida un cafelito. . . que hay gente para todos los gustos.

En fin, a lo que iba:

En la web de hacienda WWW.AEAT.ES te proporcionan un control
ActiveX para usarlo para firmar digitalmente las facturas.
Mi problema es que una vez lo importo con delphi y queda
instalado en la paleta, no lo puedo utlizar.

Si lo pongo directamente encima de un form, en tiempo de
diseño, me da el mensaje de - Interfaz no compatible -
y si intento crearlo en tiempo de ejecución hace un acces violation.

Podeis decirme que es lo que falla?
O como hacerlo para poder utilizarlo desde delphi?
Alguien se ha encontrado con este problema antes?

Os adjuntaria el fichero pero no puedo, es grande.

Ah! uso delphi 6.

Muchas gracias

Bacterion
29-05-2003, 14:48:22
Si puedes indicarme de donde se baja, exactamente, y si doy con él quizás pueda contra... esto echarle un vistazo.

david.bea
30-05-2003, 08:42:36
Hola

El archivo está aqui:

http://a104.g.akamai.net/f/104/3242/15m/www.aeat.es/descarga/aeatfact.cab

El problema era mi falta de experiencia con ActiveX.

La solución que he encontrado ha sido en vez de instalarlo en la
paleta, crear solo el TLB y utilizarlo a través del interface de la
clase.

Ahora puedo acceder a los métodos del ActiveX.
Mi nuevo problema es saber donde está en Windows
el 'almacén de certificados'.

Gracias. Hasta otra.

adebonis
13-04-2005, 16:24:08
Hola.

¿Podrías indicarme cómo has logrado utilizar el control ActiveX?

Tengo que incoprporar la emisión de facturas telemáticas y me estoy volviendo loco.

Gracias.
Adolfo Bonis Mora

diegosz
27-10-2006, 15:56:39
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

adebonis
06-11-2006, 21:44:07
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:


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, :Des)');
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

diegosz
07-11-2006, 09:16:43
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

adebonis
07-11-2006, 17:50:19
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

diegosz
08-11-2006, 09:30:45
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

adebonis
08-11-2006, 21:17:54
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

oscarnoe
08-11-2006, 22:38:05
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

Durbed
21-12-2006, 12:44:26
Tengo una aplicacion que envia email con ficheros adjuntos con datos "comprometidos", es decir contratos, y cosas asi. Ahora mismo lo que hago es encriptar el fichero y mandarlo, pero ademas de eso queria añadir la firma digital del remitente para asegurar la autenticidad del documento.
Segun veo solo hace falta pasarle al documento la funcion firma del control ActiveX, el problema es que el enlace para descargar el ActiveX no funciona, a ver si alguien me lo puede pasar.

Un saludo y gracias.

jlalvarez
13-11-2007, 11:07:46
He estado intentando descargarme el control active x para la facturación telemática pero no lo encuentro por ningún lado, podría decirme alguién si hay algún sitio donde poder descargarmelo?

Muchas Gracias.

Neftali [Germán.Estévez]
15-04-2008, 12:41:59
Sé que es un poco tarde, pero si todavía estáis con el tema de Facturación Electrónica he encontrado este link que os puede ser de utilidad.

Cómo firmar digitalmente una factura (http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=184)

Aquí tenéis otro (http://www.grupoalbor.com/delphi/?opc=articulos&id=6) que también habla sobre la utilización del componentes que provee hacienda.

Además en mi caso estpoy evaluando componentes para firmar PDF's y los mejores que he encontrado son los SecureBlackBox de Eldos (http://www.eldos.com/sbb/)

CyberManolo
13-04-2023, 19:10:56
Buenas tardes.

¿Alguien tiene ese fichero y puede ponerlo por aquí? (El control ActiveX que hizo Hacienda para firmar XMLs y otros tipos de documentos)
Lo he buscado por todos sitios y no consigo encontrarlo.

Gracias.