Ver Mensaje Individual
  #520  
Antiguo 03-04-2017
jcapilla jcapilla is offline
Miembro
NULL
 
Registrado: feb 2017
Posts: 29
Reputación: 0
jcapilla Va por buen camino
Serializar objeto para el SII de la AEAT

Buenas a todos.

Yo no programo con Delphi. Estoy con .Net pero veo que aquí nos ayudamos todos. Veo que lo que hacéis mas que nada es coger un xml y deserializarlo en un objeto para enviarlo. Mi caso es al revés. Monto un objeto y lo serializo para obtener el xml que posteriormente otra empresa se encargará de enviarlo. El problema es que al serializarlo no me escribe los Namespaces SiiLR y Sii y no se como hacerlo.

Este es mi código:

Código:
Dim oSfe As New SuministroFactEmitidas.SuministroLRFacturasEmitidas
oSfe.Cabecera = New SuministroFactEmitidas.CabeceraSii
oSfe.Cabecera.IDVersionSii = SuministroFactEmitidas.VersionSiiType.Item06
oSfe.Cabecera.Titular = New SuministroFactEmitidas.PersonaFisicaJuridicaESType
oSfe.Cabecera.Titular.NombreRazon = "EMPRESA EMISORA"
oSfe.Cabecera.Titular.NIF = "A00000000"
oSfe.Cabecera.TipoComunicacion = SuministroFactEmitidas.ClaveTipoComunicacionType.A0
oSfe.RegistroLRFacturasEmitidas = New SuministroFactEmitidas.LRfacturasEmitidasType(0) {}
oSfe.RegistroLRFacturasEmitidas(0) = New SuministroFactEmitidas.LRfacturasEmitidasType
oSfe.RegistroLRFacturasEmitidas(0).PeriodoImpositivo = New SuministroFactEmitidas.RegistroSiiPeriodoImpositivo
oSfe.RegistroLRFacturasEmitidas(0).PeriodoImpositivo.Ejercicio = 2017 
oSfe.RegistroLRFacturasEmitidas(0).PeriodoImpositivo.Periodo = SuministroFactEmitidas.TipoPeriodoType.Item01
oSfe.RegistroLRFacturasEmitidas(0).IDFactura = New SuministroFactEmitidas.IDFacturaExpedidaType
oSfe.RegistroLRFacturasEmitidas(0).IDFactura.IDEmisorFactura = New SuministroFactEmitidas.IDFacturaExpedidaTypeIDEmisorFactura
oSfe.RegistroLRFacturasEmitidas(0).IDFactura.IDEmisorFactura.NIF = "A00000000" 
oSfe.RegistroLRFacturasEmitidas(0).IDFactura.NumSerieFacturaEmisor = "FA1700001"
oSfe.RegistroLRFacturasEmitidas(0).IDFactura.FechaExpedicionFacturaEmisor = Now.ToString("dd-MM-yyyy")
oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida = New SuministroFactEmitidas.FacturaExpedidaType
oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.TipoFactura = SuministroFactEmitidas.ClaveTipoFacturaType.F1
oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.FechaOperacion = Now.ToString("dd-MM-yyyy")
oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.ClaveRegimenEspecialOTrascendencia = SuministroFactEmitidas.IdOperacionesTrascendenciaTributariaType.Item01
oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.DescripcionOperacion = "Venta de mercaderia" 
oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.Contraparte = New SuministroFactEmitidas.PersonaFisicaJuridicaType
oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.Contraparte.NombreRazon = "EMPRESA RECEPTORA" 
oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.Contraparte.Item = "B00000000" 
oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.TipoDesglose = New SuministroFactEmitidas.FacturaExpedidaTypeTipoDesglose
oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.TipoDesglose.Item = New SuministroFactEmitidas.TipoSinDesgloseType
CType(oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.TipoDesglose.Item, SuministroFactEmitidas.TipoSinDesgloseType).Sujeta = New SuministroFactEmitidas.SujetaType
CType(oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.TipoDesglose.Item, SuministroFactEmitidas.TipoSinDesgloseType).Sujeta.NoExenta = New SuministroFactEmitidas.SujetaTypeNoExenta
CType(oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.TipoDesglose.Item, SuministroFactEmitidas.TipoSinDesgloseType).Sujeta.NoExenta.TipoNoExenta = SuministroFactEmitidas.TipoOperacionSujetaNoExentaType.S1 
CType(oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.TipoDesglose.Item, SuministroFactEmitidas.TipoSinDesgloseType).Sujeta.NoExenta.DesgloseIVA = New SuministroFactEmitidas.DetalleIVAEmitidaType(0) {}
CType(oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.TipoDesglose.Item, SuministroFactEmitidas.TipoSinDesgloseType).Sujeta.NoExenta.DesgloseIVA(0) = New SuministroFactEmitidas.DetalleIVAEmitidaType
CType(oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.TipoDesglose.Item, SuministroFactEmitidas.TipoSinDesgloseType).Sujeta.NoExenta.DesgloseIVA(0).TipoImpositivo = "21"
CType(oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.TipoDesglose.Item, SuministroFactEmitidas.TipoSinDesgloseType).Sujeta.NoExenta.DesgloseIVA(0).BaseImponible = "100"
CType(oSfe.RegistroLRFacturasEmitidas(0).FacturaExpedida.TipoDesglose.Item, SuministroFactEmitidas.TipoSinDesgloseType).Sujeta.NoExenta.DesgloseIVA(0).CuotaRepercutida = "21"

Dim xmlSerial As New XmlSerializer(oSfe.GetType(), "")
Dim SufijoFecha As String = String.Format("_{0:yyyyMMdd}_{1:HHmmssfff}", Now, Now)
Dim nombreFichero As String = String.Format("FE{0}", SufijoFecha)
Dim strWriter As New StreamWriter(String.Format("D:\Proyectos\IDI\S.I.I\PruebasGeneracionFicheros\{0}.xml", nombreFichero))
xmlSerial.Serialize(strWriter, oSfe)
strWriter.Close()

¿Alguien puede ayudarme?
Responder Con Cita