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