Ejemplo WSCTG Visual FoxPro

El número de carta porte usado en el ejemplo es provisto por la documentación de AFIP. Aun en modo prueba los C.U.I.T. deben ser validos.

Para usar el control ActiveX en Visual FoxPro:

En Herramientas Opciones Controles Agregar el control WSAFIPFE.

Insertar el control WSAFIPFE a un fomulario (ver en la documentación de FoxPro todo lo referente a la propiedad AutoYield). Cambiar la propiedad "name" a "FE".

En el evento click de un control tipo botón insertar el siguiente código:

IF thisform.fe.iniciar(0, "CUIT del emisor", "ruta y nombre del certificado *.pfx", "")

IF thisform.fe.gObtenerTicketAcceso()

thisform.fe.gCTGCuitRepresentado = "CUTI del emisor"

thisform.fe.gCTGCantHoras = 1

thisform.fe.gCTGCodigoCosecha = "910"

thisform.fe.gCTGCodigoEspecie = "1"

thisform.fe.gCTGCodigoLocalidadDestino = "12699"

thisform.fe.gCTGCodigoLocalidadOrigen = "6262"

thisform.fe.gCTGCuitDestinatario = "CUIT el emisor"

thisform.fe.gCTGCuitDestino = "CUIT del emisor"

thisform.fe.gCTGCuitRemitenteComercial = ""

thisform.fe.gCTGCuitTrasnportista = "30708200286"

thisform.fe.gCTGNumeroCartaPorte = "512345678"

thisform.fe.gCTGPatenteVehiculo = "ABC123"

THISFORM.FE.gCTGPesoNetoCarga = "200"

IF thisform.fe.gSolicitarCTG()

LOCAL cNumeroCTG as String

cNumeroCTG = thisform.fe.gCTGRespuestaNumeroCTG

MESSAGEBOX("CTG obtenido "+cNumeroCTG,0,"")

IF thisform.fe.gConfirmarCTG("CUIT el emisor", cNumeroCTG, "512345678", "200","30708200286")

MESSAGEBOX("código transacción confirmación CTG "+thisform.fe.gCTGRespuestaCodigoTransaccion,0,"")

ELSE

MESSAGEBOX("Error confirmar CTG "+thisform.fe.gErrorMensaje, 0, "")

ENDIF

ELSE

MESSAGEBOX("Error al obtener CTG "+thisform.fe.gErrorMensaje,0,"")

ENDIF

ELSE

MESSAGEBOX("Fallo de acceso "+thisform.fe.ultimoMensajeError,0,"")

ENDIF

ELSE

MESSAGEBOX("Fallo al iniciar "+thisform.fe.ultimoMensajeError,0,"")

ENDIF