VisualFoxPro

Este ejemplo usa el identificador "1" como 3°er argumento del método registrar. Debe usar un identificador único y diferente para obtener CAE diferentes en cada ejecución. Después de probar el ejemplo lea toda la documentación referente a "identificador" y "reproceso" para una explicación detallada sobre la función de este argumento.

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:

local lResultado As logical

local cIdentificador as string

lResultado = thisform.FE.iniciar(0, "aqui el cuit sin separador", "aqui ruta y nombre del certificado tipo *.pfx", "")

If lResultado Then

lResultado = thisform.FE.ObtenerTicketAcceso()

EndIf

If lResultado Then

thisform.FE.FECabeceraCantReg = 1

thisform.FE.FECabeceraPresta_serv = 1

thisform.FE.indice = 0

thisform.FE.FEDetalleFecha_vence_pago = "20090101"

thisform.FE.FEDetalleFecha_serv_desde = "20090101"

thisform.FE.FEDetalleFecha_serv_hasta = "20090101"

thisform.FE.FEDetalleFecha_vence_pago = "20090101"

thisform.FE.FEDetalleImp_neto = 100

thisform.FE.FEDetalleImp_total = 121

thisform.FE.FEDetalleFecha_cbte = "20090101"

thisform.FE.FEDetalleNro_doc = "aqui cuit del cliente"

thisform.FE.FEDetalleTipo_doc = 80

cIdentificador = "1"

lResultado = thisform.FE.Registrar(1, 1, cIdentificador)

If lResultado Then

MessageBox ("CAE: " + thisform.FE.FERespuestaDetalleCae + Chr(10) + "MOTIVO: " + thisform.FE.FERespuestaDetalleMotivo + Chr(10) + "PROCESO: " + thisform.FE.FERespuestaReproceso + Chr(10) + "Numero: " + Str(thisform.FE.FERespuestaDetalleCbt_desde))

Else

MessageBox("Motivo: " + thisform.FE.FERespuestaDetalleMotivo + Chr(10) + " Error " + thisform.FE.Permsg + "Detalle: " + thisform.FE.UltimoMensajeError)

EndIf

else

messagebox("Fallo al obtener autorización "+thisform.fe.ultimoMensajeError)

EndIf