Ejemplo WSSEG Visual Basic NET

Aunque los lenguajes NET pueden acceder facilmente a los Web Services 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.

En un proyecto aplicación de NET cree un formulario y agregue una referencia a la interface COM WSAFIPFE siguiendo estos pasos:

Seleccionar "Proyects\Add Reference"

Seleccionar la solapa "Browse".

Localizar el archivo "WSAFIPFE.DLL" (por defecto en la carpeta c:\archivos de programs\SC"

En el evento click de un control tipo botón insertar el siguiente código.

Dim fe As New SCFE9Ex.factura

Dim lResultado As Boolean

lResultado = fe.iniciar(0, "aqui cuit del certificado sin separador", "aqui ruta del certificado *.pfx", "")

If lResultado Then

lResultado = fe.sObtenerTicketAcceso()

If lResultado Then

fe.sTipo_Doc = 80

fe.sNro_Doc = "aqui cuit del cliente sin separador"

fe.stipo_cbte = 1

fe.spunto_vta = 2

fe.sImp_total = 121

fe.simp_neto = 100

fe.simpto_liq = 0

fe.simpto_liq_rni = 0

fe.simp_op_ex = 0

fe.sImp_perc = 0

fe.simp_iibb = 0

fe.sImp_internos = 0

fe.sImp_moneda_id = 1

fe.sImp_moneda_ctz = 1

fe_sImp_otrib_prov = 0

fe.sFecha_cbte = "20091013"

fe.sitemCantidad = 1

fe.sIndiceItem = 0

fe.sITEMpoliza = "seguro auto"

fe.sITEMendoso = "endoso 1"

fe.sITEMds = "auto 1"

fe.sITEMprecio_uni = 100

fe.sITEMqty = 1

fe.sITEMIva_id = 1

fe.sITEMimp_total = 100

fe.sITEMimp_bonif = 0

fe.sItemImp_valor_aseg = 1000

fe.sItemImp_moneda_vaseg = "PES"

If fe.sRegistrar(2, 1, "1") Then

MsgBox("CAE: " + fe.sRespuestaCAE + Chr(10) + "REPROCESO " + fe.sRespuestaReproceso + Chr(10) + "Evento " + fe.sEventMsg + Chr(10) + "Observacion: " + fe.sRespuestaOBS)

Else

MsgBox("ERROR " + fe.serrmsg + Chr(10) + "OBS: " + fe.sRespuestaOBS + Chr(10) + "ERROR " + fe.sRespuestaOBS + Chr(10) + fe.serrmsg + "ERROR " + Chr(10) + fe.UltimoMensajeError + Chr(10) + "Reproceso: " + fe.sRespuestaReproceso)

End If

Else

MsgBox("Fallo al obtener ticket acceso: " + Chr(10) + fe.UltimoMensajeError)

End If

Else

MsgBox("Control no iniciado")

End If