![]() |
Cita:
Era por asegurarme que siguiera pasando lo mismo. Y el otro problema que tengo es con el elemento CABECERA, que como ya comenté anteriormente en éste hilo, no consigo acceder a él para meter los datos correspondientes. Sólo puedo meter el array con las facturas a enviar, pero seguro que al hacer el envío me lo darán para atrás por no tener la cabecera. ¿Será que se les ha olvidado definirlo? |
Cita:
- <simpleType name="HusoHorarioGenRegistroType"> - <restriction base="string"> - <enumeration value="01"> - <annotation> <documentation xml:lang="es">GMT+0</documentation> </annotation> </enumeration> - <enumeration value="02"> - <annotation> <documentation xml:lang="es">GMT+1</documentation> </annotation> </enumeration> - <enumeration value="03"> - <annotation> <documentation xml:lang="es">GMT+2</documentation> </annotation> </enumeration> </restriction> </simpleType> |
Cita:
Según la unit que se genera al importar el WSDL no existe esa parte. ¿Exactamente cuando dices cabecera a qué te refieres? He visto que en el EXCEL con los diseños de registro hay 3 de alta (DR=Diseño Registro):
¿?¿?¿?¿ |
1 Archivos Adjunto(s)
Cita:
Me respondo a mi mismo. He descargado el XSD desde aquí. Lo he subido al FTP junto al resto de la documentación. Importándolo en un proyecto de Delphi (XML Data Binding) y con un poco de código:
Se genera la parte de la cabecera sin problemas... Código PHP:
|
Yo en el ejemplo que estaba haciendo para comparar con el wsdl del SII tengo esto código Delphi:
Código:
procedure TForm2.Button1Click(Sender: TObject); Sin embargo, el de VeriFactu no encuentro el equivalente al SuministroLRFacturasEmitidas del SII. Estoy revisando el wsdl por dentro y me he dado cuenta de una cosa quizás puedas ser la causa de no encontrar lo que estoy buscando. En la parte superior del wsdl aparece: Código:
// ************************************************************************ // Si yo accedo a https://prewww2.aeat.es/static_files...nformacion.xsd hay si tengo un nodo CABECERA que quizás sea el que estoy buscando, pero el problema es que luego, en el resto del documento, la referencia se hace a: https://www2.agenciatributaria.gob.e...nformacion.xsd y esa url no funciona. PD. Acabo de ver que mientras escribía mi post, @Neftali había editado el suyo, pero por si acaso pudiera servir de algo, lo posteo. |
Cita:
Esto a base de pegarme cabezazos todo el fin de semana, ya lo había conseguido encontrar, pero entonces me atascaba en el momento de querer hacer el envío, ya que en el método GetsfSOAP requiere que sea un objeto de tipo Array_Of_RespuestaExpedidaType y no se como "calzarle" el cabecera. Código:
try |
Germán.
Sigo tus instrucciones del XML Data Binding pero solo me genera dos archivos, uno .pas y otro .xdb. ¿El fichero .xsd cómo se genera? Gracias y un saludo. |
1 Archivos Adjunto(s)
Cita:
Se descarga desde aquí y lo he copiado aquí en el FTP. |
Cita:
|
Cita:
Gracias Germán. Cita:
Efectivamente. Entiendo que el fichero .xsd solo se usa para generar el .pas Seguimos probando. Gracias a los dos. |
El problema con el que me he topado yo es que falta la URL del servicio.
Cuando se importa el WSDL, en la función principal hay estos datos:
¿Se me escapa algo o nos quedamos aquí parados? |
Cita:
Yo lo que estoy es generando el xml en el evento HTTPRIO1BeforeExecute para ver lo que estoy enviando y ahi es donde me temo que falta el famoso <cabecera> Código:
procedure TForm2.HTTPRIO1BeforeExecute(const MethodName: string; Código:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
Cita:
Son las tres posibilidades traducidas al castellano y a las abreviaciones usuales; GMT+0 es el huso horario GMT (Greenwich Mean Time) de Gran Bretaña y Canarias en invierno; GMT+1 es el huso horario del horario de verano en Gran Bretaña (BST, British Summer Time) y en Canarias, y también es el horario de invierno en el continente (CET, Continental o Central Europe Time) y entonces de la península (menos Portugal); y GMT+2 es el horario de verano en el continente (CEDT, Continental o Central Europe Daylight Time). Todo esto, pendiente de posible cambios legislativos en las alternancias en los horarios de verano, por tanto es un poco mejor quedarse con GMT+x que poner «horario de invierno». Sin embargo, el problema lo veo en las exportaciones, donde hay dos fechas distintas pero tal como se ve en el registro de eventos solo hay un huso horario; y me teme que habrá cosas “interesantes” cuando el periodo será los meses de marzo (sobrará una hora del 1 de abril) u octubre (faltará una hora al final del mes)... :rolleyes: |
Hola a tod@s.
Dándole vueltas a este tema se me ocurren mil problemas que vamos a tener a la hora de enviar los datos y uno de ellos es que el NIF y nombre del cliente sean válidos. Imagino que si se intenta subir una factura con un nif erróneo el servidor chillará y la devolverá como no válida y a partir de ahí no sé cómo actuar, sobre todo si el cliente ya no está y no hay forma de comprobar y corregir ese dato. Se puede hacer una consulta mediante webservice para confirmar que el nif+nombre es correcto pero estoy pensando en que se necesita hacer la llamada con un certificado válido y me temo que los clientes no van a instalar certificados en todos los posibles terminales de la red y que usen el programa. ¿Qué se os ocurre al respecto? porque ando un poco perdido con este asunto. Gracias y un saludo. |
Cita:
Va a haber varios escenarios. Nif, nie, cifs.. Los códigos de identificacion españoles tienen algoritmo de comprobación y son verificables, como bien dices por webservice con un certificado, los extranjeros se los comen todos si los ponen en id_otro Por tanto, si no instalas un certificado, que además esté vigente, sólo puedes comprobar con el algoritmo y además te pueden decir nombres erroneos, es muy frecuente en los autonomos ypor erro4, que el cliente te de un nombre xomerxial de empresa con un cif. Que yo sepa, las verificaciones que suelen hacer es solo que el cif b Nif(español) cumple el algoritmo(numero de caracteres y cálculo de letra/s) Otra cosa es que hagan, posteriormente, comprobaciones, pero es raro que sancionen por eso. |
Cita:
Saludos |
Cita:
Creo que es la forma correcta de hacerlo; con la condición que Hacienda te acepte parcialmente el registro inicial. De hecho, aparentemente con este mecanismo de alta sustitutiva se puede «cambiar» un montón de datos de la factura, tanto en el destinatario como en los importes. Mmmm. |
¿Alguien sabe lo que hay que rellenar en el campo <FechaExpedicionFacturaRegistroAnterior> de tipo "fecha" para el primer registro?
He visto que los campos <NumSerieFacturaRegistroAnterior> y <HuellaRegistroAnterior> tienen tamaño mínima de 0 caracteres, por tanto pueden quedar vacíos para tal caso (que está identificado en el RDL, 10.1.ñ). Pero el tipo "fecha" solo acepta cadenas de 10 caracteres con dígitos y guiones, y debe haber algún valor mágico... |
Entiendo que estáis haciendo pruebas generando los registros aunque sin enviarlos.
¿Habéis averiguado algo en relación al registro de cabecera+lineas? Saludos. |
Cita:
|
La franja horaria es GMT +2. Ahora son las 23:22:02. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi