WSFEv1 FECompConsultar
Este método permite recuperar íntegramente todos los datos archivados por AFIP para un número de comprobante dado.
Acepta 3 parámetros:
Punto de Venta.
Tipo de Comprobante.
Número de Comprobante.
Y devuelve verdadero (si el comprobante existe en lo servidores de AFIP) junto con todos los datos asociados al comprobante. Además de estos 3 parámetros es posible configurar las propiedad f1detalleqrarchivo y archivoxmlrecibido para que se vuelva a generar el código QR y el XML recibido (ver ejemplo al pie o planilla de test)
Los datos se leen en:
Las propiedades de respuesta (f1ResultadoDetalleCAE y demás) propias del método FECAESolicitar y FECAERegInformar
La propiedad f1ResultadoTipoEmision para indicar si fue un comprobante autorizado con CAE o CAE anticipado.
Y además todos los datos (totales, netos, alícuotas, observaciones, etc) en las mismas propiedades donde habitualmente se cargan para los métodos FECAESolicitar y FECAERegInformar)i incluido el XML recibido y la imagen código QR.
Por ejemplo la propiedad FEDetalleImpTotal contendrá el importe total usado (y archivado por AFIP) al autorizar el comprobante.
En caso de devolver falso el motivo del error puede leerse en la lista general de errores.
ejemplo visual basic.
Dim fe As New WSAFIPFE.Factura
dim bResultado as boolean
If fe.iniciar(0, "cuit emisor", "ruta y archivo pfx", " ") Then
fe.ArchivoCertificadoPassword = ""
If fe.f1ObtenerTicketAcceso() Then
fe.F1CabeceraCantReg = 1
fe.f1Indice = 0
fe.f1IndiceItem = 0
fe.F1DetalleQRArchivo = "d:\miqr.bmp"
fe.F1DetalleQRFormato = 1
fe.F1DetalleQRResolucion = 5
fe.F1DetalleQRTolerancia = 0
fe.ArchivoXMLRecibido = "d:\mirecibido.xml"
bResultado = fe.F1CompConsultarS(puntoventa, tipocomprobante, "numero")
if fe.ultimomensajeerror = "" then
msgbox "CAE consultado: "+fe.f1respuestadetalleCAE
msgbox "Total: "+str(fe.f1detalleTOTAL)
else
MsgBox("fallo consulta: " + fe.UltimoMensajeError)
end if
else
MsgBox("Fallo acceso: " + fe.UltimoMensajeError)
End If
Else
MsgBox("Fallo iniciar: " + fe.UltimoMensajeError)
End If