Files
tsUtilidades/Hacienda/Modelo190.vb
2025-05-29 17:58:18 +02:00

209 lines
14 KiB
VB.net

Namespace Modelo190
Public Class DatosModelo190
Public Property Declarante As RegistroDeclarante
Public Property Perceptores As List(Of RegistroPerceptor)
End Class
Public Class RegistroDeclarante
Public Property TipoRegistro As String = "1" ' 1
Public Property ModeloDeclaracion As String = "190" ' 2-4
Public Property Ejercicio As String = "" ' 5-8
Public Property NifDeclarante As String = "" ' 9-17
Public Property ApeNombreRsoDeclarante As String = "" '18-57
Public Property TipodeSoporte As String = "T" '58
Public Property PerConQuienRelacionarseTlf As String = "" ' 59-67
Public Property PerConQuienRelacionarseNom As String = "" ' 68-107
Public Property NumIdenDecla As String = "" ' 108-120
Public Property DeclComploSust As String = "" ' 121-122
Public Property NumIdenDeclaAnt As String = "" ' 123-135
Public Property NumTotaldePercepciones As String = "" ' 136-144
Public Property ImpTotPercepcionesSigno As String = "" ' 145
'Public Property ImpTotPercepciones As String = "" ' 146-160 146-158 parte entera 159-160 parte decimal
Public Property ImpTotPercepcionesParEnt As String = "" '146-158
Public Property ImpTotPercepcionesParDec As String = "" '159-160
Public Property ImpTotRetencionesParEnt As String = "" '161-173
Public Property ImpTotRetencionesParDec As String = "" '174-175
'Public Property ImpTotRetenciones As String = "" ' 161-175 161-173 parte entera 174-175 parte decimal
Public Property CorreoElectronicoPerConQuienRelacionarse As String = "" ' 176-225
Public Property Blancos As String = " ".PadRight(262, " ") '226-487
Public Property SelloElectronico As String = " ".PadRight(13, " ") '488-500
End Class
Public Class RegistroPerceptor
Public Property TipoRegistro As String
Public Property ModeloDeclaracion As String = "190"
Public Property Ejercicio As String = "" ' 5-8
Public Property NifDeclarante As String = "" ' 9-17
Public Property NifPerceptor As String = "" ' 18-26
Public Property NifRepresentateLegal As String = "" ' 27-35
Public Property ApeNombreRsoPerceptor As String = "" '36-75
Public Property CodigoProvincial As String = "41" '76-77
Public Property ClavePercepcion As String = "" '78
Public Property SubClave As String = "" '79-80
Public Property PerDineNoIncaLabSigno As String = "" '81
Public Property PerDineNoIncaLabPerint As Double = 0
Public Property PerDineNoIncaLabPerintParEnt As String = "" '82-92
Public Property PerDineNoIncaLabPerintParDec As String = "" '93-94
Public Property PerDineNoIncaLabRetPra As Double = 0
Public Property PerDineNoIncaLabRetPraParEnt As String = "" '95-105
Public Property PerDineNoIncaLabRetPraParDec As String = "" '106-107
Public Property PerEspNoIncaLabSigno As String = "" '108
Public Property PerEspNoIncaLabPerint As Double = 0
Public Property PerEspNoIncaLabPerintParEnt As String = "" '109-119
Public Property PerEspNoIncaLabPerintParDec As String = "" '120-121
Public Property PerEspNoIncaLabRetPra As Double = 0 '122-132
Public Property PerEspNoIncaLabRetPraParEnt As String = "" '122-132
Public Property PerEspNoIncaLabRetPraParDec As String = "" '133-134
Public Property PerEspNoIncaLabRetRep As Double = 0
Public Property PerEspNoIncaLabRetRepParEnt As String = "" '135-145
Public Property PerEspNoIncaLabRetRepParDec As String = "" '146-147
Public Property EjercicioDevengo As String = "0000" '148-151
Public Property CeutaOMelilla As String = "" '152
Public Property AñoNacimiento As String = "" '153-156
Public Property SituacionFamilia As String = "" '157
Public Property NifConyuge As String = "" '158-166
Public Property Discapacidad As String = "" '167
Public Property ContratoRelacion As String = "" '168
Public Property Guion As String = "" '169
Public Property MovilidadGeografica As String = "" '170
Public Property ReduccionesAplicable As String = "" '171-181 parte entera 182-183 parte decimal
Public Property GastosDeducibles As Double = 0
Public Property GastosDeduciblesEnt As String = "" '184-194 parte entera
Public Property GastosDeduciblesDec As String = "" ' 195-196 parte decimal
Public Property PensionCompensatoria As Double = 0
Public Property PensionCompensatoriaEnt As String = "" '197-207 parte entera
Public Property PensionCompensatoriaDec As String = "" '208-209 parte decimal
Public Property AnualidadporAlimentos As Double = 0
Public Property AnualidadporAlimentosEnt As String = "" '210-220 parte entera
Public Property AnualidadporAlimentosDec As String = "" '221-222 parte decimal
Public Property HijosyOtrosDecendientes As String = "" '223-228
Public Property HijosyOtrosDecendientesConDiscapacidad As String = "" '229-240
Public Property Ascendientes As String = "" '241-244
Public Property AscendientesConDiscapacidad As String = "" '245-250
Public Property Com3PrimerosHijos As String = "" '251-253
Public Property ComuPresVivHab As String = "" '254
Public Property PerDineDerIncaLabSigno As String = "" '255
Public Property PerDineIncaLabPerint As Double = 0
Public Property PerDineIncaLabPerintParEnt As String = "" '256-266
Public Property PerDineIncaLabPerintParDec As String = "" '267-268
Public Property PerDineIncaLabRetPra As Double = 0
Public Property PerDineIncaLabRetPraParEnt As String = "" '269-279
Public Property PerDineIncaLabRetPraParDec As String = "" '280-281
Public Property PerEspDerIncaLabSigno As String = "" '282
Public Property PerEspIncaLabPerint As Double = 0
Public Property PerEspIncaLabPerintParEnt As String = "" '283-293
Public Property PerEspIncaLabPerintParDec As String = "" '294-295
Public Property PerEspIncaLabRetPra As Double = 0
Public Property PerEspIncaLabRetPraParEnt As String = "" '296-306
Public Property PerEspIncaLabRetPraParDec As String = "" '307-308
Public Property PerEspIncaLabRetRep As Double = 0
Public Property PerEspIncaLabRetRepParEnt As String = "" '309-319
Public Property PerEspIncaLabRetRepParDec As String = "" '320-321
Public Property TotalPercepcionesIntegras As Double = 0
Public Property TotalRetencionesIntegras As Double = 0
Public Property Blancos As String = " ".PadRight(179, " ") '322-500
End Class
Public Class Utilidades
Public Shared Sub GeneraFichero(Datos As DatosModelo190, Fichero As String)
Try
' Dim fs As New IO.FileStream(Fichero, IO.FileMode.CreateNew)
' Dim sw As New IO.StreamWriter(fs, System.Text.Encoding.GetEncoding("iso-8859-1"))
Dim sw As New IO.StreamWriter(Fichero, False, System.Text.Encoding.GetEncoding("iso-8859-1"))
Dim RegDeclarante As String
RegDeclarante = Datos.Declarante.TipoRegistro.PadLeft(1, " ")
RegDeclarante &= Datos.Declarante.ModeloDeclaracion.PadRight(3, " ")
RegDeclarante &= Datos.Declarante.Ejercicio.PadLeft(4, "0")
RegDeclarante &= Datos.Declarante.NifDeclarante.PadLeft(9, "0")
RegDeclarante &= Datos.Declarante.ApeNombreRsoDeclarante.Replace(",", "").PadRight(40, " ")
RegDeclarante &= Datos.Declarante.TipodeSoporte.PadLeft(1, " ")
RegDeclarante &= Datos.Declarante.PerConQuienRelacionarseTlf.PadLeft(9, "0")
RegDeclarante &= Datos.Declarante.PerConQuienRelacionarseNom.PadRight(40, " ")
RegDeclarante &= Datos.Declarante.NumIdenDecla.PadLeft(13, "0")
RegDeclarante &= Datos.Declarante.DeclComploSust.PadRight(2, " ")
RegDeclarante &= Datos.Declarante.NumIdenDeclaAnt.PadLeft(13, "0")
RegDeclarante &= Datos.Declarante.NumTotaldePercepciones.PadLeft(9, "0")
RegDeclarante &= Datos.Declarante.ImpTotPercepcionesSigno.PadLeft(1, " ")
RegDeclarante &= Datos.Declarante.ImpTotPercepcionesParEnt.PadLeft(13, "0") '146-158
RegDeclarante &= Datos.Declarante.ImpTotPercepcionesParDec.PadLeft(2, "0") '159-160
RegDeclarante &= Datos.Declarante.ImpTotRetencionesParEnt.PadLeft(13, "0") '161-173
RegDeclarante &= Datos.Declarante.ImpTotRetencionesParDec.PadLeft(2, "0") '174-175
RegDeclarante &= Datos.Declarante.CorreoElectronicoPerConQuienRelacionarse.PadRight(50, " ")
RegDeclarante &= Datos.Declarante.Blancos.PadRight(262, " ")
RegDeclarante &= Datos.Declarante.SelloElectronico.PadRight(13, " ")
sw.WriteLine(RegDeclarante)
For Each p In Datos.Perceptores
Dim RegPerceptor As String
RegPerceptor = p.TipoRegistro.PadLeft(1, " ")
RegPerceptor &= p.ModeloDeclaracion.PadRight(3, " ")
RegPerceptor &= p.Ejercicio.PadLeft(4, "0")
RegPerceptor &= p.NifDeclarante.PadLeft(9, "0")
RegPerceptor &= p.NifPerceptor.PadLeft(9, "0")
RegPerceptor &= p.NifRepresentateLegal.PadLeft(9, " ")
RegPerceptor &= p.ApeNombreRsoPerceptor.Replace(",", " ").Replace("Á", "A").Replace("É", "E").Replace("Í", "I").Replace("Ó", "O").Replace("Ú", "U").Replace("Ü", "U").Replace("Ñ", "N").Replace(" ", " ").PadRight(40, " ").Substring(0, 40)
RegPerceptor &= p.CodigoProvincial.PadLeft(2, "00")
RegPerceptor &= p.ClavePercepcion.PadLeft(1, " ")
RegPerceptor &= p.SubClave.PadLeft(2, "00")
RegPerceptor &= p.PerDineNoIncaLabSigno.PadLeft(1, " ")
RegPerceptor &= p.PerDineNoIncaLabPerintParEnt.PadLeft(11, "0")
RegPerceptor &= p.PerDineNoIncaLabPerintParDec.PadLeft(2, "0")
RegPerceptor &= p.PerDineNoIncaLabRetPraParEnt.PadLeft(11, "0") '95-105
RegPerceptor &= p.PerDineNoIncaLabRetPraParDec.PadLeft(2, "0") '106-107
RegPerceptor &= p.PerEspNoIncaLabSigno.PadLeft(1, " ")
RegPerceptor &= p.PerEspNoIncaLabPerintParEnt.PadLeft(11, "0") '109-119
RegPerceptor &= p.PerEspNoIncaLabPerintParDec.PadLeft(2, "0") '120-121
RegPerceptor &= p.PerEspNoIncaLabRetPraParEnt.PadLeft(11, "0") '122-132
RegPerceptor &= p.PerEspNoIncaLabRetPraParDec.PadLeft(2, "0") '133-134
RegPerceptor &= p.PerEspNoIncaLabRetRepParEnt.PadLeft(11, "0") '135-145
RegPerceptor &= p.PerEspNoIncaLabRetRepParDec.PadLeft(2, "0") '146-147
RegPerceptor &= p.EjercicioDevengo.PadLeft(4, "0")
RegPerceptor &= p.CeutaOMelilla.PadLeft(1, "0")
RegPerceptor &= p.AñoNacimiento.PadLeft(4, "0")
RegPerceptor &= p.SituacionFamilia.PadLeft(1, "0")
RegPerceptor &= p.NifConyuge.PadLeft(9, " ")
RegPerceptor &= p.Discapacidad.PadLeft(1, "0")
RegPerceptor &= p.ContratoRelacion.PadLeft(1, "0")
RegPerceptor &= p.Guion.PadLeft(1, " ")
RegPerceptor &= p.MovilidadGeografica.PadLeft(1, "0")
RegPerceptor &= p.ReduccionesAplicable.PadLeft(13, "0")
RegPerceptor &= p.GastosDeduciblesEnt.PadLeft(11, "0") '184-194 parte entera
RegPerceptor &= p.GastosDeduciblesDec.PadLeft(2, "0") ' 195-196 parte decimal
RegPerceptor &= p.PensionCompensatoriaEnt.PadLeft(11, "0") '197-207 parte entera
RegPerceptor &= p.PensionCompensatoriaDec.PadLeft(2, "0") '208-209 parte decimal
RegPerceptor &= p.AnualidadporAlimentosEnt.PadLeft(11, "0") '210-220 parte entera
RegPerceptor &= p.AnualidadporAlimentosDec.PadLeft(2, "0") '221-222 parte decimal
RegPerceptor &= p.HijosyOtrosDecendientes.PadLeft(6, "0")
RegPerceptor &= p.HijosyOtrosDecendientesConDiscapacidad.PadLeft(12, "0")
RegPerceptor &= p.Ascendientes.PadLeft(4, "0")
RegPerceptor &= p.AscendientesConDiscapacidad.PadLeft(6, "0")
RegPerceptor &= p.Com3PrimerosHijos.PadLeft(3, "0")
RegPerceptor &= p.ComuPresVivHab.PadLeft(1, "0")
RegPerceptor &= p.PerDineDerIncaLabSigno.PadLeft(1, " ")
RegPerceptor &= p.PerDineIncaLabPerintParEnt.PadLeft(11, "0") '256-266
RegPerceptor &= p.PerDineIncaLabPerintParDec.PadLeft(2, "0") '267-268
RegPerceptor &= p.PerDineIncaLabRetPraParEnt.PadLeft(11, "0") '269-279
RegPerceptor &= p.PerDineIncaLabRetPraParDec.PadLeft(2, "0") '280-281
RegPerceptor &= p.PerEspDerIncaLabSigno.PadLeft(1, " ")
RegPerceptor &= p.PerEspIncaLabPerintParEnt.PadLeft(11, "0") '283-293
RegPerceptor &= p.PerEspIncaLabPerintParDec.PadLeft(2, "0") '294-295
RegPerceptor &= p.PerEspIncaLabRetPraParEnt.PadLeft(11, "0") '296-306
RegPerceptor &= p.PerEspIncaLabRetPraParDec.PadLeft(2, "0") '307-308
RegPerceptor &= p.PerEspIncaLabRetRepParEnt.PadLeft(11, "0") '309-319
RegPerceptor &= p.PerEspIncaLabRetRepParDec.PadLeft(2, "0") '320-321
RegPerceptor &= p.Blancos.PadRight(179, " ")
sw.WriteLine(RegPerceptor)
Next
sw.Close()
'fs.Close()
Catch ex As Exception
Throw New Exception(ex.Message, ex)
End Try
End Sub
End Class
End Namespace