Ver Mensaje Individual
  #13  
Antiguo 05-05-2017
adripugliesso adripugliesso is offline
Miembro
NULL
 
Registrado: jul 2015
Posts: 49
Reputación: 0
adripugliesso Va por buen camino
Acá les paso como se hace

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...
Responder Con Cita