SIRE ejemplos
Este ejemplo usa la versión 97.70 (o superior) del instalador.
Es totalmente operativo pero es necesario leer toda la documentación del WS-SIRE para una implementación real. Y hasta la fecha no está confirmado que los servidores WS SIRE AFIP estén operativos.
Para el modo prueba (0) el certificado debe estar asociado al servicio WS SIRE según los pasos de la guia para el modo prueba y para el modo real (1) el certifcado debe estar asociado al WS-SIRE según la guia para el modo real. Además para el modo real debe estar presente un archivo de licencia (4to argumento) definitivo o provisorio generado desde el panel de mi administración.
Dim fe As New WSAFIPFE.Factura
Dim bresultado As Boolean = True
If fe.iniciar(0, "cuit agente retencion", "ruta certificado.pfx", "") Then
fe.tls = 12
REM ATENCION, ejecutar este método necesario para que la interfaz capture el trafico hacia y desde el servidor antes que el sistema operativo. El REM servidor WS SIRE usa un formato incompatible y debe ser transformado para operar normalmente.
If fe.registrarTrafico(True) Then
Else
MsgBox("error trafico " + fe.UltimoMensajeError)
End If
fe.ArchivoCertificadoPassword = ""
If fe.sriObtenerTicketAcceso() Then
fe.ArchivoXMLEnviado = "d:\srienviado.xml"
fe.ArchivoXMLRecibido = "d:\srirecibido.xml"
bResultado = bResultado And fe.sriCargarPropiedad("LIMPIAR", "", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.cae", "235626236", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.codigoTrazabilidad", "256235235", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.coe", "256sdg235", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.coeOriginal", "23523", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.condicion", "0", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.condicionNO", "F", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.cuitRetenido", "23562356", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.fechacomprobante", "20201211", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.fechapublicacion", "20201211", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.fechaPublicacionNO", "F", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.fechaRetencion", "20201211", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.fechaRetencionCertificadoOriginal", "20201211", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.fechaRetencionCertificadoOriginalNO", "F", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.importeBaseCalculo", "100.25", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.importeCertificadoOriginal", "100.25", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.importeCertificadoOriginalNO", "F", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.importecomprobante", "1", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.importeretencion", "2", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.imposibilidadRetencion", "F", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.impuesto", "1", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.motivoAnulacion", "0", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.motivoAnulacionNO", "V", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.motivoEmisionNotaCredito", "", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.motivoNoRetencion ", "prueba", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.numeroCertificadoOriginal", "23523", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.numeroComprobante", "13", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.porcentajeExclusion", "5", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.porcentajeExclusionNO", "V", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.regimen", "1", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.regimenExclusion", "F", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.tipocomprobante", "1", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificado.version", "0", 0, 0)
If bResultado Then
bResultado = fe.sriEmitir("1")
If fe.UltimoMensajeError = "" Then
MsgBox("respuesta: " + fe.sriLeerPropiedad("emitir", "", "respuesta", 0, 0))
Else
MsgBox("error leer" + fe.UltimoMensajeError)
End If
Else
MsgBox("fallo cargar propiedad " + fe.UltimoMensajeError)
End If
Else
MsgBox("fallo acceso " + fe.UltimoMensajeError)
End If
Else
MsgBox("fallo iniciar " + fe.UltimoMensajeError)
End If
Dim fe As New WSAFIPFE.Factura
Dim bresultado As Boolean = True
If fe.iniciar(0, "cuit agente retencion", "ruta certificado.pfx", "") Then
fe.tls = 12
REM ATENCION, ejecutar este método necesario para que la interfaz capture el trafico hacia y desde el servidor antes que el sistema operativo. El REM servidor WS SIRE usa un formato incompatible y debe ser transformado para operar normalmente.
If fe.registrarTrafico(True) Then
Else
MsgBox("error trafico " + fe.UltimoMensajeError)
End If
fe.ArchivoCertificadoPassword = ""
If fe.sriObtenerTicketAcceso() Then
fe.ArchivoXMLEnviado = "d:\srienviado.xml"
fe.ArchivoXMLRecibido = "d:\srirecibido.xml"
bResultado = bResultado And fe.sriCargarPropiedad("LIMPIAR", "", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificadoanulacion.codigoTrazabilidad", "235626236", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("CertificadoAnulacion.impuesto", "21", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("CertificadoAnulacion.motivoAnulacion", "3523", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("CertificadoAnulacion.numeroCertificado", "1", 0, 0)
bResultado = bResultado And fe.sriCargarPropiedad("certificadoAnulacion.version", "1", 0, 0)
If bResultado Then
bResultado = fe.sriAnular("1")
If fe.UltimoMensajeError = "" Then
MsgBox("respuesta: " + fe.sriLeerPropiedad("anular", "", "respuesta", 0, 0))
Else
MsgBox("error leer" + fe.UltimoMensajeError)
End If
Else
MsgBox("fallo cargar propiedad " + fe.UltimoMensajeError)
End If
Else
MsgBox("fallo acceso " + fe.UltimoMensajeError)
End If
Else
MsgBox("fallo iniciar " + fe.UltimoMensajeError)
End If