FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Cita:
Sobre tu pregunta, sino me confundo, al menos en Delphi, RegistroAltaFacturas es del tipo Array_Of_FacturasEmitidasType. Con lo cual FacturasEmitidasType entiendo que se corresponde a cada de las facturas que vamos a enviar en el "lote", y todas ellas las tenemos que ir metiendo en un array que es lo que luego pasamos como parámetro a la llamada AltaFactuSistemaFacturacion. |
#2
|
|||
|
|||
Cita:
Para importar el wsdl en visual basic studio -Proyecto -Agregar referencia de servicio - botón avanzadas - botón agregar referencia web -en direccion = SistemaFacturacion.wsdl -botón flechita - cambiar el nombre de la clase si queréis yo puse MiSFI -y agregar referencia También esta la opción con el comando xsd de generar las clases.vb con los ficheros xsd, pero esto no es necesario si se importo el wsdl. Aqui te pongo como estoy haciendo para generar el xml , este codigo funciona hasta el cierre de la cabecera. Código:
Dim altaFactuSistemaFacturacion As New AltaFactuSistemaFacturacion 'Cabecera Dim cabecera As New MiSFI.Cabecera Dim obligadoEmision As New MiSFI.PersonaFisicaJuridicaESType Dim tipoRegistroAEAT As New MiSFI.TipoRegistroAEATType '/Cabecera Dim registroAltaFacturas As New MiSFI.FacturasEmitidasType Dim RegistroFacturacion(2) As MiSFI.RegistroFacturacionType Dim datosControl As New MiSFI.DatosControlType 'idFactura Dim idFactura As New MiSFI.IDFacturaExpedidaType 'MiSFI.IDFacturaARType Dim idEmisorFactura As New MiSFI.IDFacturaExpedidaTypeIDEmisorFactura '/idFactura Dim Destinatarios As New MiSFI.PersonaFisicaJuridicaType Dim idDestinatario As New MiSFI.PersonaFisicaJuridicaESType Dim detalleDesglose As New MiSFI.DetalleType ' DetalleDesglose Dim encadenamientoRegistroAnterior As New MiSFI.EncadenamientoFacturaAnteriorType '.EncadenamientoRegistroAnterior Dim idEmisorFacturaRegistroAnterior As New MiSFI.EncadenamientoFacturaAnteriorTypeIDEmisorFacturaRegistroAnterior '.IDEmisorFacturaRegistroAnterior Dim sistemaInformatico As New MiSFI.SistemaInformaticoType 'Cabecera cabecera.IDVersion = MiSFI.VersionType.Item10 '"1.0" obligadoEmision.NombreRazon = "XXXXX" obligadoEmision.NIF = "XXXXX" tipoRegistroAEAT = MiSFI.TipoRegistroAEATType.T0 ' "T0" cabecera.ObligadoEmision = obligadoEmision cabecera.TipoRegistroAEAT = tipoRegistroAEAT '/Cabecera 'RegistroAltaFacturas 'RegistroFacturacion 'IDFactura idEmisorFactura.NIF = "XXXXX" idFactura.NumSerieFacturaEmisor = "12345" idFactura.FechaExpedicionFacturaEmisor = "13-11-2023" idFactura.IDEmisorFactura = idEmisorFactura '/IDfactura 'Estas dan error 'RegistroFacturacion(0).IDFactura = idFactura 'RegistroFacturacion(0).NombreRazonEmisor = "certificado uno telematicas" 'RegistroFacturacion(0).TipoRegistroSIF = MiSFI.TipoRegistroSIFType.S0 ' "S0" 'RegistroFacturacion(0).TipoFactura = MiSFI.ClaveTipoFacturaType.F1 '"F1" 'RegistroFacturacion(0).DescripcionOperacion = "Descripc" idDestinatario.NombreRazon = "XXXXX" idDestinatario.NIF = "XXXXX" datosControl.Huella = "Huella" datosControl.TipoHash = "01" registroAltaFacturas.RegistroFacturacion = RegistroFacturacion(0) registroAltaFacturas.DatosControl = datosControl altaFactuSistemaFacturacion.Cabecera = cabecera 'esta da error 'altaFactuSistemaFacturacion.RegistroAltaFacturas = registroAltaFacturas Dim ns As New XmlSerializerNamespaces() ns.Add("soapenv", ".......") ns.Add("sum", "........SuministroLR.xsd") ns.Add("sum1", ".......SuministroInformacion.xsd") 'serializamos Dim serializer As New XmlSerializer(GetType(MiSFI.AltaFactuSistemaFacturacion)) Using writer As New StreamWriter("C:\xml\archivo.xml") serializer.Serialize(writer, altaFactuSistemaFacturacion, ns) End Using Cita:
|
#3
|
|||
|
|||
Cita:
Código:
var regFactura : FacturasEmitidasType; result : Array_Of_RespuestaExpedidaType; arrayFacturasS : Array_Of_FacturasEmitidasType; begin regFactura := FacturasEmitidasType.Create; regFactura.RegistroFacturacion := RegistroFacturacionType.Create; ... regFactura.RegistroFacturacion.IDFactura := IDFacturaExpedidaType.Create; regFactura.RegistroFacturacion.IDFactura.NumSerieFacturaEmisor := '23/123456'; .... try SetLength(arrayFacturas, 1); arrayFacturas[0] := regFactura; result := GetsfSOAP(true, '', HTTPRIO1).AltaFactuSistemaFacturacion(ArrayFacturas); finally regFactura.Destroy; end; |
#4
|
|||
|
|||
ya lo conseguí.
Código:
<AltaFactuSistemaFacturacion xmlns:soapenv="......./envelope/" xmlns:sum="............/SuministroLR.xsd" xmlns:sum1="...................................../SuministroInformacion.xsd"> <sum1:Cabecera> <sum1:IDVersion>1.0</sum1:IDVersion> <sum1:ObligadoEmision> <sum1:NombreRazon>XXXXX</sum1:NombreRazon> <sum1:NIF>XXXXX</sum1:NIF> </sum1:ObligadoEmision> <sum1:TipoRegistroAEAT>T0</sum1:TipoRegistroAEAT> </sum1:Cabecera> <sum:RegistroAltaFacturas> <sum:RegistroFacturacion> <sum1:IDFactura> <sum1:IDEmisorFactura> <sum1:NIF>XXXXX</sum1:NIF> </sum1:IDEmisorFactura> <sum1:NumSerieFacturaEmisor>12345</sum1:NumSerieFacturaEmisor> <sum1:FechaExpedicionFacturaEmisor>13-11-2023</sum1:FechaExpedicionFacturaEmisor> </sum1:IDFactura> <sum1:NombreRazonEmisor>certificado uno telematicas</sum1:NombreRazonEmisor> <sum1:TipoRegistroSIF>S0</sum1:TipoRegistroSIF> <sum1:TipoFactura>F1</sum1:TipoFactura> <sum1:DescripcionOperacion>Descripc</sum1:DescripcionOperacion> <sum1:HusoHorarioGenRegistro>01</sum1:HusoHorarioGenRegistro> </sum:RegistroFacturacion> <sum:DatosControl> <sum1:Huella>Huella</sum1:Huella> <sum1:TipoHash>01</sum1:TipoHash> </sum:DatosControl> </sum:RegistroAltaFacturas> </AltaFactuSistemaFacturacion> ahora voy a rellenar los demás campos. te lo intento pasar por privado que es un tocho |
#5
|
|||
|
|||
Recibido. Muchísimas gracias.
Estoy comparando y lo que tú me mandas tiene mucho más contenido que el que me ha generado a mi importándolo desde Delphi. No solo no encuentro la cabecera que en el tuyo si: Código:
'''<remarks/> <System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9037.0"), _ System.SerializableAttribute(), _ System.Diagnostics.DebuggerStepThroughAttribute(), _ System.ComponentModel.DesignerCategoryAttribute("code"), _ System.Xml.Serialization.XmlTypeAttribute([Namespace]:="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicacion"& _ "es/es/aeat/tike/cont/ws/SuministroInformacion.xsd")> _ Partial Public Class Cabecera Private iDVersionField As VersionType Private obligadoEmisionField As PersonaFisicaJuridicaESType Private tipoRegistroAEATField As TipoRegistroAEATType Private fechaFinVeriFactuField As String '''<remarks/> Public Property IDVersion() As VersionType Get Return Me.iDVersionField End Get Set Me.iDVersionField = value End Set End Property '''<remarks/> Public Property ObligadoEmision() As PersonaFisicaJuridicaESType Get Return Me.obligadoEmisionField End Get Set Me.obligadoEmisionField = value End Set End Property '''<remarks/> Public Property TipoRegistroAEAT() As TipoRegistroAEATType Get Return Me.tipoRegistroAEATField End Get Set Me.tipoRegistroAEATField = value End Set End Property '''<remarks/> Public Property FechaFinVeriFactu() As String Get Return Me.fechaFinVeriFactuField End Get Set Me.fechaFinVeriFactuField = value End Set End Property End Class '''<remarks/> Código:
'''<remarks/> <System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9037.0"), _ System.SerializableAttribute(), _ System.Xml.Serialization.XmlTypeAttribute([Namespace]:="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicacion"& _ "es/es/aeat/tike/cont/ws/SuministroInformacion.xsd")> _ Public Enum VersionType '''<remarks/> <System.Xml.Serialization.XmlEnumAttribute("1.0")> _ Item10 End Enum '''<remarks/> ¿Podrías mandar el link del wsdl que estás importando a ver si es que no estoy cogiendo el correcto? ¿Es normal que el mismo wsdl al importarlo desde dos lenguajes diferentes se "coma" cosas? Un poco más abajo están las siguientes definiciones: Código:
'''<remarks/> <System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9037.0"), _ System.SerializableAttribute(), _ System.Diagnostics.DebuggerStepThroughAttribute(), _ System.ComponentModel.DesignerCategoryAttribute("code"), _ System.Xml.Serialization.XmlTypeAttribute(AnonymousType:=true, [Namespace]:="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicacion"& _ "es/es/aeat/tike/cont/ws/SuministroLR.xsd")> _ Partial Public Class AltaFactuSistemaFacturacion Inherits SistemaFacturacionAltaFact Private registroAltaFacturasField() As FacturasEmitidasType '''<remarks/> <System.Xml.Serialization.XmlElementAttribute("RegistroAltaFacturas")> _ Public Property RegistroAltaFacturas() As FacturasEmitidasType() Get Return Me.registroAltaFacturasField End Get Set Me.registroAltaFacturasField = value End Set End Property End Class '''<remarks/> <System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.9037.0"), _ System.SerializableAttribute(), _ System.Diagnostics.DebuggerStepThroughAttribute(), _ System.ComponentModel.DesignerCategoryAttribute("code"), _ System.Xml.Serialization.XmlTypeAttribute([Namespace]:="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicacion"& _ "es/es/aeat/tike/cont/ws/SuministroInformacion.xsd")> _ Partial Public Class SistemaFacturacionAltaFact Private cabeceraField As Cabecera '''<remarks/> Public Property Cabecera() As Cabecera Get Return Me.cabeceraField End Get Set Me.cabeceraField = value End Set End Property End Class '''<remarks/> |
#6
|
|||
|
|||
Cita:
Última edición por Neftali [Germán.Estévez] fecha: 08-01-2024 a las 13:54:19. Razón: Añadir URL |
#7
|
|||
|
|||
Cita:
No entiendo nada. ¿Será por culpa de la ñapa esa que hacemos para que no de el error de las cadenas más largas de 255 caracteres? |
#8
|
||||
|
||||
Cita:
No molesta en absoluto. Aunque este es un foro principalmente sobre Delphi, caben mensajes de otros lenguajes, Y aunque hay foros específicos de cada lenguaje, en temas como este, LeyAntifraude (SII o TicketBAI) se permite publicar en textos y códigos en otros lenguajes de programación, porque "prima" el tema sobre el que va el hilo (LeyAntifraude).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Hijo de Informáticos | gluglu | Humor | 3 | 13-03-2007 11:05:35 |
Adictos informaticos ... | Trigger | Humor | 2 | 11-10-2004 12:18:32 |
Nosotros los Informáticos | Trigger | Humor | 1 | 10-10-2004 14:58:09 |
Patrón de los Informáticos. | obiwuan | Varios | 20 | 10-09-2003 14:44:54 |
Chistes Informaticos | jhonny | Humor | 2 | 11-08-2003 21:59:09 |
|