209 lines
14 KiB
VB.net
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 |