Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Factura Electronica - Afip Argentina (https://www.clubdelphi.com/foros/showthread.php?t=73179)

hagsoft 07-09-2018 06:12:07

Sera q lo pueden subir el codigo por favor me da error base64 estoy usando delphi berlin


Código Delphi [-]
procedure TForm1.EnviaTicket(ta: widestring);
var
  WS: LoginCMS;
  s: widestring;
begin
 //s := (HTTPRIO1 as LoginCms).loginCms(memo1.Text);
  WS := GetLoginCMS;
  s := WS.loginCms(ta);
  memo1.Text :=(s); //Da error en esta linea
  memo1.Lines.SaveToFile(ruta + 'TA.XML');
end;

Casimiro Notevi 07-09-2018 10:17:15

¿Y el error es...?

DeG 11-11-2018 00:16:00

error base64
 
Cita:

Empezado por hagsoft (Mensaje 528332)
Sera q lo pueden subir el codigo por favor me da error base64 estoy usando delphi berlin


Código Delphi [-]
procedure TForm1.EnviaTicket(ta: widestring);
var
  WS: LoginCMS;
  s: widestring;
begin
 //s := (HTTPRIO1 as LoginCms).loginCms(memo1.Text);
  WS := GetLoginCMS;
  s := WS.loginCms(ta);
  memo1.Text :=(s); //Da error en esta linea
  memo1.Lines.SaveToFile(ruta + 'TA.XML');
end;

Buenas, me puse a debuguear y lo solucione, hay que cambiar ticketsf por ticketf en la linea:
Código:

TA:= LimpiaTicket(ruta+'ticketsf.xml','-----BEGIN PKCS7-----','-----END PKCS7-----');
por
Código:

TA:= LimpiaTicket(ruta+'ticketf.xml','-----BEGIN PKCS7-----','-----END PKCS7-----');
y no olvidar de instalar OpenSSL-Win32(yo lo olvide:D).
Saludos.

chiche_s 09-01-2019 00:44:28

Estancado con la factura
 
Hola gente del foro, estoy viendo el trabajo de adripugliesso pero no consigo avanzar para obtener los benditos TOKEN y SIGN. El problema específico es que no se me genera el archivo "ticketf.xml" y no sé por qué. Si alguien me puede dar una mano, o tienen la guía para generar cert y key.doc, se lo voy a agradecer.

PD: estoy usando Delphi 10.2 CE.

aledieb 17-01-2019 13:18:51

Hola, estas usando openssl.exe si es así puede ser un tema de entorno, yo tuve que agregar una linea al .bat

Código:

set OPENSSL_CONF=E:\camino_a\Ssl\openssl.cfg
E:\camino_a\Ssl\openssl smime -sign -in E:\ticketsf.xml -out E:\ticketf.xml -inkey E:\certificados\ClavePriv.txt -signer E:\certificados\Certificado.crt -outform PEM -nodetach

A mi me dio problemas la instalación de openssl por lo que solo descomprimi en un directorio de la app y lo uso desde alli. El openssl.cfg lo tuve que copiar de la página de openssl.

golf2008 06-01-2021 19:22:40

Guía para GENERAR CRT Y KEY.DOC
 
Hola a todos,

Alguien tiene la guía para GENERAR CRT y KEY.DOC ?

Desde ya muchas gracias



Cita:

Empezado por adripugliesso (Mensaje 516284)
CÓDIGO DE FACTURA ELECTRÓNICA PARA DELPHI 7 EN ADELANTE

Para entender lo que vamos a hacer, tenemos que saber que la AFIP tiene 4 servidores 2 de prueba y 2 de Producción:

Ambiente de prueba (Testing/Homologación):
WS Autenticación y Autorización: https://wsaahomo.afip.gov.ar/ws/services/LoginCms?WSDL
WS Facturación Electrónica: https://wswhomo.afip.gov.ar/wsfev1/service.asmx?WSDL

Ambiente real (Producción):
WS Autenticación y Autorización: https://wsaa.afip.gov.ar/ws/services/LoginCms?WSDL
WS Facturación Electrónica: https://servicios1.afip.gov.ar/wsfev1/service.asmx?WSDL



En el servidor de LoginCMS lo que vamos a hacer es consultarlo para obtener las Claves TOKEN y SIGN, luego con esas 2 claves vamos a poder trabajar con el servidor WSFEV1.

Para obtener los 2 archivos .crt y .key que se van a usar para solicitar las claves TOKEN y SIGN, siga la guía GENERAR CRT Y KEY.DOC
CREAR UNA CARPETA EN C:\AFIP\
Y copia dentro los archivos cert.key y cert.crt

ARRANCAMOS CON EL PROYECTO:

1 - Creamos una aplicación nueva en Delphi.
2 – Lo que vamos a hacer es relacionar nuestra aplicación con los Webservice de Afip, para eso vamos a Archivo – Nuevo – Otros – y en la Solapa de Webservice seleccionamos WSDL Importer
Donde dice Localización del WSDL Archivo o URL Copiamos y Pegamos:
https://wsaahomo.afip.gov.ar/ws/services/LoginCms?WSDL
de esta manera estamos agregando a nuestro proyecto una nueva UNIT con todos los métodos del webservice, guardarla con el nombre UHomoLoginCMS.

Y repetir el paso con las otras 3 direcciones siempre poniendo el nombre correcto a las UNITs.

UHomoWsfev1 : https://wswhomo.afip.gov.ar/wsfev1/service.asmx?WSDL
ULoginCMS: https://wsaa.afip.gov.ar/ws/services/LoginCms?WSDL
UWsfev1: https://servicios1.afip.gov.ar/wsfev1/service.asmx?WSDL

De esta manera nos van a quedar en el proyecto nuevo 4 Units Nuevas.
Solo vamos a Agregar:
Uses UHomoWsfev1, UHomoLoginCMS (para usar los servidores de prueba)
Lo que hacemos al momento de cambiar a modo producción es cambiar esta línea por:
Uses UWsfev1, ULoginCMS (para usar los servidores de producción).

3 – Secuencia para la solicitud de las claves TOKEN Y SING.
A – Agregamos 3 Tmemos y los llamamos Memo1, MToken y MSign
B – Agregamos 1 TButton
C – Agregamos de la paleta de INTERNET un XMLDocument.
D – En las Uses del form arriba de todo agregamos DateUtils, ShellAPI;
E – Agregammos de la paleta de Webservice un componente HTTPRIO.

F- INSERTAMOS LOS PROCEDURES Y FUNCIONES.

G- IMPORTANTISIMO SINO NO ANDA NADA EN LA UNIT DEL SERVICIO WSFEV1

EN INITIALIZATION AGREGAR:

//se agrega esto
InvRegistry.RegisterInvokeOptions(TypeInfo(ServiceSoap), ioDocument);



Si tienen alguna duda, lo tengo funcionando 100% solo con código delphi son DLL ni OCX. Espero que les sirva Saludos...


Dexter182 07-01-2021 02:11:32

Cita:

Empezado por golf2008 (Mensaje 539621)
Hola a todos,

Alguien tiene la guía para GENERAR CRT y KEY.DOC ?

Desde ya muchas gracias


En su momento me fueron muy útiles estos dos videos:


Generar Certificado Digital para Factura Electrónica
Parte 1) https://www.youtube.com/watch?v=6tu4QJVbDtI
Parte 2) https://www.youtube.com/watch?v=v6r4D3Ljuy8


Espero que sea eso lo que buscabas!!! ^\||/

sa_pirata 07-01-2021 13:41:36

Cita:

Empezado por golf2008 (Mensaje 539621)
Hola a todos,

Alguien tiene la guía para GENERAR CRT y KEY.DOC ?

Desde ya muchas gracias

Te dejo un enlace con la documentacion oficial de AFIP
https://www.afip.gob.ar/ws/WSAA/WSAAmanualDev.pdf

golf2008 07-01-2021 20:54:40

Gracias por las respuestas...

Me sale el siguiente error al intentar crear el XML firmado :

"An error occurred in the secure channel support - URL: http://wsaahomo.afip.gov.ar/ws/services/LoginCms - SOAPAction"

Será por los cambios de AFIP de SSL a TLS 1.2 ?


Desde ya muchas gracias

lucho6007 08-01-2021 19:52:10

TSL v1.2 con THTTPRio Delphi XE3
 
Hola, estoy usando THHPRio con Delphi XE3, alguno sabe cómo implementar TSL v1.2 y 1.3? Se que AFIP está cambiando la seguridad y en poco tiempo mas va a dejar de estar disponible TSL v1.1...


Gracias!

hagsoft 30-01-2021 04:10:34

en teoria el componente Thttprio tiene soporte TLS 1.2 en teoria, pero es mejor hacerlo con el componente indy para dar soporte TLS 1.3 habra q migrarlo a indy. eso es lo poco q de momento tengo como idea. si podrian aportar el resto. Saludos.


La franja horaria es GMT +2. Ahora son las 20:28:12.

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