Este ejemplo usa la versión 46 (o superior) del instalador para autorizar una factura electrónica con compradores múltiples
Es totalmente operativo pero es necesario leer toda la documentación del WSFEv1 para una implementación real.
Dim fe As New WSAFIPFE.Factura
If fe.iniciar(0, "CUIT el emisor sin separadores", "ruta y nombre del certificado *.pfx", "") 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.F1DetalleMonIdS = "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.F1DetalleCompradorItemCantidad = 2
fe.f1IndiceItem = 0
fe.F1DetalleCompradorDocNro = "20111111112"
fe.F1DetalleCompradorDocTipo = 80
fe.F1DetalleCompradorPorcentaje = 60
fe.f1IndiceItem = 1
fe.F1DetalleCompradorDocNro = "cuit2"
fe.F1DetalleCompradorDocTipo = 80
fe.F1DetalleCompradorPorcentaje = 40
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 ("error local: " + fe.UltimoMensajeError)
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 ("fallo acceso " + fe.UltimoMensajeError)
End If
Else
MsgBox ("fallo iniciar " + fe.UltimoMensajeError)
End If