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



martes, 2 de mayo de 2017

GTXSII. Nuestra solución al Suministro Inmediato de Información.


Bien es sabido que el próximo 1 de Julio entra en vigor la nueva ley sobre la declaración del IVA para determinadas empresas que cumplan unos requisitos.

Desde getex hemos estado trabajando duro para poder ofrecer una solución profesional a todos nuestros compañeros y amigos programadores de Harbour y sus variantes.

Pero hemos intentado ir un poco más allá, y aún a costa de dedicar más horas y recursos, hemos creado además una DLL que puede ser usado por otros lenguajes, como ;

Visual Basic, Foxpro, Alaska xbase++, scripting desde sistema o JavaScript, Delphi, etc..
Desde Fivewin pasando por Xailer, usando compiladores de BCC o Mingw. 

Además, también hemos portado la validación de NIF, persona física o jurídica de la AET, y estamos también la portando la consulta de operadores intracomunitarios a través de VIES.

Tenéis toda la información en http://www.getex.net/sii/

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...