viernes, 19 de mayo de 2017

GTXSII. Visual Basic .NET


Estamos trabajando muy duro en intentar en soportar más lenguajes de programación para nuestra librería GtxSII, para el Suministro Inmediato de Información.

Ahora sumamos el soporte de  Visual Basic, VB.NET, ejemplo muy simple de código, para
crear una factura emitida;


Public Class Form1 Public oGtxSii As Object Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load oGtxSii = CreateObject("GTXSII") End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click MsgBox(oGtxSii.Version) End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Dim oServicio = oGtxSii.Create("SuministroLRFacturasEmitidas") Dim oRequest = oServicio.oRequest oRequest.Cabecera.Titular.NombreRazon = TextRazon.Text oRequest.Cabecera.Titular.NIF = TextNIF.Text oRequest.Cabecera.TipoComunicacion = "A0" Dim oFacturaEmitida = oRequest.GetFactura() oFacturaEmitida.PeriodoImpositivo.Ejercicio = 2017 oFacturaEmitida.PeriodoImpositivo.Periodo = "03" oFacturaEmitida.IDFactura.NIF = TextNIF.Text oFacturaEmitida.IDFactura.NumSerieFacturaEmisor = TextFactura.Text oFacturaEmitida.IDFactura.FechaExpedicionFacturaEmisor = Date.ParseExact(TextFecha.Text, "dd/MM/yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo) oFacturaEmitida.FacturaExpedida.TipoFactura = "F1" oFacturaEmitida.FacturaExpedida.ClaveRegimenEspecialOTrascendencia = "01" oFacturaEmitida.FacturaExpedida.ImporteTotal = 270.0 oFacturaEmitida.FacturaExpedida.DescripcionOperacion = "Ventas de productos" oFacturaEmitida.FacturaExpedida.Contraparte.NombreRazon = "EMPRESAXXXX" oFacturaEmitida.FacturaExpedida.Contraparte.NIFRepresentante = "" oFacturaEmitida.FacturaExpedida.Contraparte.NIF = "A17035080" Dim Sujeta = oFacturaEmitida.FacturaExpedida.TipoDesglose.DesgloseFactura.Sujeta Sujeta.TipoNoExenta = "S1" Dim oDetalleIVA = Sujeta.GetDetalleIVA() oDetalleIVA.TipoImpositivo = 21 oDetalleIVA.BaseImponible = 123.97 oDetalleIVA.CuotaRepercutida = 26.03 If oServicio.Send() Then TextRequest.Text = oRequest.GetXML() Dim oResponse = oServicio.oResponse viewResponse(oResponse) Else TextRequest.Text = oRequest.GetXML() If oServicio.nHostError = -1 Then MsgBox("Incidencia detectada " & CStr(oServicio.nHostError) & " " & oServicio.cHostErrorMsg) Else Dim oResponse = oServicio.oResponse If IsNothing(oResponse) Then MsgBox("Incidencia detectada " & CStr(oServicio.nHostError) & " " & oServicio.cHostErrorMsg) Else viewResponse(oResponse) End If End If End If oServicio = Nothing oRequest = Nothing End Sub Private Sub viewResponse(oResponse As Object) Dim cValue cValue = "CSV :" + oResponse.CSV + vbCrLf + "IDVersionSii:" + oResponse.Cabecera.IDVersionSii + vbCrLf + "NombreRazon :" + oResponse.Cabecera.Titular.NombreRazon + vbCrLf + "NIF :" + oResponse.Cabecera.Titular.NIF + vbCrLf + "EstadoEnvio :" + oResponse.EstadoEnvio + vbCrLf + "NIFPresentador :" + oResponse.DatosPresentacion.NIFPresentador + vbCrLf + "TimestampPresentacion :" + oResponse.DatosPresentacion.TimestampPresentacion + vbCrLf + "------------------------REGISTROS----------------------------------" + vbCrLf For Each oRespuesta In oResponse.RespuestaLinea cValue = cValue + "EstadoRegistro :" + oRespuesta.EstadoRegistro + vbCrLf + "CodigoErrorRegistro :" + oRespuesta.CodigoErrorRegistro + vbCrLf + "DescripcionErrorRegistro :" + oRespuesta.DescripcionErrorRegistro + vbCrLf Dim oFactura = oRespuesta.IDFactura cValue = cValue + "NIF :" + oFactura.NIF + vbCrLf + "NumSerieFacturaEmisor :" + oFactura.NumSerieFacturaEmisor + vbCrLf + "NumSerieFacturaEmisorResumenFin :" + oFactura.NumSerieFacturaEmisorResumenFin + vbCrLf + "FechaExpedicionFacturaEmisor :" + oFactura.FechaExpedicionFacturaEmisor + vbCrLf Next TextResponse.Text = cValue End Sub End Class



Android y Git. Disponer del hash automáticamente.

Una de las cosas a las que estoy acostumbrado, es tener siempre en mi código, el hash/tag/versión del control de versiones que estoy usan...