FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1061
|
|||
|
|||
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; |
#1062
|
|||
|
|||
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 |
#1063
|
|||
|
|||
Cita:
Desde el punto de vista de remisión de información, existirán dos servicios web, uno para el alta y remisión inmediata, detallado en el Diseño de registro DR Alta.Verifactu, y otro para la remisión por requerimiento, detallado en el Diseño de registro DR Alta.Requerimiento (que son las "hojas" del DR sobre las que no tienen dudas). Adicionalmente, y como elementos propios del SIF, existirá el Registro de Eventos, obligatoriamente en los sistemas no Veri*factu. Este Registro de Eventos es necesario para para que se consideren cumplidas las condiciones establecidas en el artículo 8.3 del Reglamento aprobado por el Real Decreto 1007/2023. Lo que se describe en el DR Evento.v.0.3 es la información estructurada que debe contener. Un ejemplo de acciones a registrar en el DR de Eventos puede ser: Instalación o puesta en marcha inicial del sistema informático, Detección de anomalías en la integridad, inalterabilidad y trazabilidad de registros de eventos, Exportación de registros de facturación generados en un periodo, entre otros. Este registro de Eventos, por el momento, se menciona en el artículo 8.3 de Disposición 24840 del BOE núm. 291 de 2023 Por último, también existirá como elemento propio del SIF, un DR Alta.C-E, que se denomina, Diseño de Registro de Alta Conservación y Exportación, o también su análogo para la anulación, que indica cómo se debe conservar los datos en el SIF y también, en su caso, cómo se debe exportar. Ambos son la base u origen de la información de los registros de facturación y comparten un contenido muy similar con los que se utilizarán para la remisión, ya sea inmediata o por requerimiento, pero su ámbito es el propio SIF. Esperamos haberle aclarado su duda, no obstante, cuando se publique la OM se ofrecerá información más detallada sobre estas cuestiones (y muchas otras). |
#1064
|
|||
|
|||
Cita:
|
#1065
|
||||
|
||||
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. |
#1066
|
|||
|
|||
Cita:
|
#1067
|
|||
|
|||
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/> |
#1068
|
|||
|
|||
Cita:
Hola estoy un poco espeso, he leido esta respuesta y me he quedado con la misma duda que tenua, a raiz de esta respuesta de la aeat, sabeis si realmente los sistemas SÍ VERIFACTU (O sea que envian directamente) tienen que crear algún evento. el de instalación inicio de envio...? no entiendo muy bien el mensaje |
#1069
|
|||
|
|||
Cita:
Última edición por Neftali [Germán.Estévez] fecha: 08-01-2024 a las 14:54:19. Razón: Añadir URL |
#1070
|
|||
|
|||
Cita:
|
#1071
|
|||
|
|||
Más sobre el QR
Al parecer en el pdf, según la OM propuesta), habrá que ponerle el enlace (Escribiendolo completo e integrandole el enlace) debajo o encima del dibujo del QR.
|
#1072
|
|||
|
|||
ejemplo posible QR
Os adjunto un pdf con aproximación de como quedaría una factura con QR en pdf según los datos que nos dan en la OM.
Las medidas son 35x35 ya que como piden entree 30x30 y 40x40 me quedo justo en el centro para tener margen por si hay alguna putadilla con las medidas de la impresora. |
#1073
|
|||
|
|||
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? |
#1074
|
||||
|
||||
Cita:
No creo que sea por eso. Ese error es de Delphi una vez importado, simplemente por cómo se ha formado el fichero (que está bien formado). Salvo que delphi no acepta esas cadenas largas.
__________________
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. |
#1075
|
|||
|
|||
¿Ha salido la Orden Ministerial? ¿Dónde está?
|
#1076
|
|||
|
|||
Cita:
Acabo de volver a hacer las siguientes pruebas de importación del wsdl:
Con las dos primeras opciones aparentemente me genera lo mismo, mientras que sin lo importo con la última opción, entonces si que me genera un wsdl con la famosa CABECERA, VersionType, etc. ¿Puede ser posible que sólo por eso ya cambie tanto la importación del fichero WSDL?. Ahora la llamada al SOAP la tengo que hacer así para que me compile: Código:
var AltaFactuSistFact : AltaFactuSistemaFacturacion; result : RespuestaAltaFactuSistemaFacturacionType; begin result := GetsfSOAP(true, '', HTTPRIO1).AltaFactuSistemaFacturacion(AltaFactuSistFact); end |
#1077
|
||||
|
||||
A mi los tres ficheros generados con esas opciones me resultan similares.
Completando el código que has puesto, la llamada podría ser similar a esta:
En este caso genera un fichero como este: Código:
<?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding"> <SOAP-ENV:Body xmlns:NS1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SistemaFacturacion.wsdl" xmlns:NS2="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:NS3="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd"> <NS1:AltaFactuSistemaFacturacion SOAP-ENV:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <AltaFactuSistemaFacturacion SOAP-ENC:id="1" xsi:type="NS2:AltaFactuSistemaFacturacion"> <Cabecera SOAP-ENC:id="2" xsi:type="NS3:Cabecera"> <IDVersion xsi:type="NS3:VersionType">1.0</IDVersion> <ObligadoEmision SOAP-ENC:id="3" xsi:type="NS3:PersonaFisicaJuridicaESType"> <NombreRazon xsi:type="xsd:string">Empresa pruebas</NombreRazon> <NIF xsi:type="xsd:string">11111111H</NIF> </ObligadoEmision> <TipoRegistroAEAT xsi:type="NS3:TipoRegistroAEATType">T0</TipoRegistroAEAT> <FechaFinVeriFactu xsi:type="xsd:string">01/01/2026</FechaFinVeriFactu> </Cabecera> <item SOAP-ENC:id="4" xsi:type="NS2:FacturasEmitidasType"> <RegistroFacturacion SOAP-ENC:id="5" xsi:type="NS3:RegistroFacturacionType"> <IDFactura SOAP-ENC:id="6" xsi:type="NS3:IDFacturaExpedidaType"> <IDEmisorFactura SOAP-ENC:id="7" xsi:type="NS3:IDEmisorFactura"> <NIF xsi:type="xsd:string">3333333</NIF> </IDEmisorFactura> <NumSerieFacturaEmisor xsi:type="xsd:string">23/123456</NumSerieFacturaEmisor> <FechaExpedicionFacturaEmisor xsi:type="xsd:string">31/12/23</FechaExpedicionFacturaEmisor> </IDFactura> <NombreRazonEmisor xsi:type="xsd:string"/> <TipoRegistroSIF xsi:type="NS3:TipoRegistroSIFType">S0</TipoRegistroSIF> <TipoFactura xsi:type="NS3:ClaveTipoFacturaType">F1</TipoFactura> <DescripcionOperacion xsi:type="xsd:string">venta de mercaderías</DescripcionOperacion> <Desglose xsi:type="SOAP-ENC:Array" SOAP-ENC:itemType="NS3:DetalleType" SOAP-ENC:arraySize="1"> <item SOAP-ENC:id="8" xsi:type="NS3:DetalleType"> <ClaveRegimen xsi:type="NS3:IdOperacionesTrascendenciaTributariaType">01</ClaveRegimen> <TipoImpositivo xsi:type="xsd:string">21</TipoImpositivo> <BaseImponibleOimporteNoSujeto xsi:type="xsd:string"/> <CuotaRepercutida xsi:type="xsd:string">100</CuotaRepercutida> </item> </Desglose> <ImporteTotal xsi:type="xsd:string"/> <EncadenamientoRegistroAnterior xsi:nil="true"/> <SistemaInformatico xsi:nil="true"/> <FechaGenRegistro xsi:type="xsd:string"/> <HoraGenRegistro xsi:type="xsd:string"/> <HusoHorarioGenRegistro xsi:type="NS3:HusoHorarioGenRegistroType">01</HusoHorarioGenRegistro> </RegistroFacturacion> <DatosControl xsi:nil="true"/> </item> </AltaFactuSistemaFacturacion> </NS1:AltaFactuSistemaFacturacion> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Adjunto los 3 ficheros generados al importar el WSDL y el propio fichero WSDL.
__________________
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. |
#1078
|
||||
|
||||
Cita:
Gracias Germán por el ejemplo. El problema es que ese código a mi no me compila en mi Delphi Berlín, se ve que este tipo de instrucciones no le gustan:
¿Hay alguna forma de modificar eso para que compile en Delphi Berlín? Gracias de nuevo y un saludo.
__________________
Be water my friend. |
#1079
|
|||
|
|||
Cita:
Código:
var alta : AltaFactuSistemaFacturacion; .... begin alta := AltaFactuSistemaFacturacion.Create; .... end Última edición por nincillo fecha: 09-01-2024 a las 12:04:38. |
#1080
|
|||
|
|||
Cita:
Aquí vuelve el pesado de turno da dar la brasa. Disculpas por anticipado si estoy diciendo tonterías, pero entiendo que cambios si que ha habido. En su momento posteaste los ficheros generados tras importar la wsdl: https://www.clubdelphi.com/foros/sho...&postcount=971 y si los comparas con los que posteas ahora podrás ver que no son iguales. Los "antiguos" tienen 1713 líneas y los "nuevos" tienen 2112 líneas. Así que algo si que ha cambiado entre ambas importaciones, A mi me genera la importación de 1713 líneas si lo hago en automático o 1.1 y la de 2112 si la hago en modo 1.2. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Hijo de Informáticos | gluglu | Humor | 3 | 13-03-2007 12:05:35 |
Adictos informaticos ... | Trigger | Humor | 2 | 11-10-2004 13:18:32 |
Nosotros los Informáticos | Trigger | Humor | 1 | 10-10-2004 15:58:09 |
Patrón de los Informáticos. | obiwuan | Varios | 20 | 10-09-2003 15:44:54 |
Chistes Informaticos | jhonny | Humor | 2 | 11-08-2003 22:59:09 |
|