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