Ejemplo WSFEv1 en Visual Basic NET para CAE
Aunque los lenguajes NET pueden acceder facilmente a los WebServices de la AFIP puede usar la inteface COM del control para trabajar en una forma más rapida y cómoda sin conocer en profundidad los detalles de la implementación de la AFIP.
dim fe as new WSAFIPFE.factura
If fe.iniciar(WSAFIPFE.Factura.modoFiscal.Test, "cuit sin separador", "ruta del certificado", "") Then
If fe.f1ObtenerTicketAcceso() Then
fe.F1CabeceraCantReg = 1
fe.F1CabeceraPtoVta = 4
fe.F1CabeceraCbteTipo = 1
fe.f1Indice = 0
fe.F1DetalleConcepto = 1
fe.F1DetalleDocTipo = 80
fe.F1DetalleDocNro = "20111111112"
fe.F1DetalleCbteDesde = 1
fe.F1DetalleCbteHasta = 1
fe.F1DetalleCbteFch = "20101018"
fe.F1DetalleImpTotal = 184.05
fe.F1DetalleImpTotalConc = 0
fe.F1DetalleImpNeto = 150
fe.F1DetalleImpOpEx = 0
fe.F1DetalleImpTrib = 7.8
fe.F1DetalleImpIva = 26.25
fe.F1DetalleFchServDesde = "20101018"
fe.F1DetalleFchServHasta = "20101018"
fe.F1DetalleFchVtoPago = "20101018"
fe.F1DetalleMonId = "PES"
fe.F1DetalleMonCotiz = 1
fe.F1DetalleTributoItemCantidad = 1
fe.f1IndiceItem = 0
fe.F1DetalleTributoId = 3
fe.F1DetalleTributoDesc = "Impuesto Municipal Matanza"
fe.F1DetalleTributoBaseImp = 150
fe.F1DetalleTributoAlic = 5.2
fe.F1DetalleTributoImporte = 7.8
fe.F1DetalleIvaItemCantidad = 2
fe.f1IndiceItem = 0
fe.F1DetalleIvaId = 5
fe.F1DetalleIvaBaseImp = 100
fe.F1DetalleIvaImporte = 21
fe.f1IndiceItem = 1
fe.F1DetalleIvaId = 4
fe.F1DetalleIvaBaseImp = 50
fe.F1DetalleIvaImporte = 5.25
fe.F1DetalleCbtesAsocItemCantidad = 0
fe.F1DetalleOpcionalItemCantidad = 0
fe.ArchivoXMLRecibido = "c:\recibido.xml"
fe.ArchivoXMLEnviado = "c:\enviado.xml"
lResultado = fe.F1CAESolicitar()
If lResultado Then
MsgBox ("resultado método: verdadero")
Else
MsgBox ("resultado método: falso")
End If
MsgBox ("resultado global AFIP: " + fe.F1RespuestaResultado)
MsgBox ("es reproceso? " + fe.F1RespuestaReProceso)
MsgBox ("registros procesados por AFIP: " + Str(fe.F1RespuestaCantidadReg))
MsgBox ("error genérico global:" + fe.f1ErrorMsg1)
If fe.F1RespuestaCantidadReg > 0 Then
fe.f1Indice = 0
MsgBox ("resultado detallado comprobante: " + fe.F1RespuestaDetalleResultado)
MsgBox ("cae comprobante: " + fe.F1RespuestaDetalleCae)
MsgBox ("número comprobante:" + fe.F1RespuestaDetalleCbteDesdeS)
MsgBox ("error detallado comprobante: " + fe.F1RespuestaDetalleObservacionMsg1)
End If
Else
MsgBox(fe.UltimoMensajeError)
End If
Else
MsgBox(fe.UltimoMensajeError)
End If