![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola a tod@s.
Estoy echando un vistazo a esto y no me importa el fichero wsdl en mi Delphi 2007, a ver si alguien me puede dar luz. Hago lo siguiente: - Inserto un objeto HTTPRIO - Pulso en Component-Import WSDL - Pongo la url del wsdl: https://prewww2.aeat.es/static_files...cturacion.wsdl y pulso next-next-finish Después de esto (que es lo que he hecho siempre para el tema sii si mal no recuerdo) me da este mensaje: ![]() ¿Alguien me puede decir por dónde van los tiros? Gracias y un saludo.
__________________
Be water my friend. |
|
#2
|
||||
|
||||
|
Cita:
Yo lo he hecho con Delphi 11.3 y con la 10.2.3 y me ha funcionado sin problemas. Adjunto las units generadas (por si sirve).
__________________
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. |
|
#3
|
|||
|
|||
|
Cita:
Gracias. |
|
#4
|
||||
|
||||
|
Cita:
Si, no había compilado el proyecto. Con los archivos generados también me da ese error: [dcc32 Error] SistemaFacturacion.pas(1599): E2056 String literals may have at most 255 elements Simplemente edita el fichero SistemaFacturacion.pas y divide esa cadena en 2. Es decir, donde hay algo como esto y falla:
Pon esto: Lo he partido en varios trozos para que se vea bien.
__________________
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. |
|
#5
|
|||
|
|||
|
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? |
|
#6
|
||||
|
||||
|
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):
¿?¿?¿?¿
__________________
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. |
|
#7
|
|||
|
|||
|
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);
var
LRfacturasEmitidas : SuministroLRFacturasEmitidas;
LRFacturaEmitida0, LRFacturaEmitida1 : LRfacturasEmitidasType;
result : RespuestaLRFacturasEmitidas;
arrayFacturas : Array_Of_LRfacturasEmitidasType;
begin
LRfacturasEmitidas := SuministroLRFacturasEmitidas.Create;
LRfacturasEmitidas.Cabecera := CabeceraSii.Create;
LRfacturasEmitidas.Cabecera.Titular := PersonaFisicaJuridicaESType.Create;
LRfacturasEmitidas.Cabecera.Titular.NombreRazon := 'NombreRazon';
LRfacturasEmitidas.Cabecera.Titular.NIF := '10855497A';
// genero las diferentes facturas
SetLength(arrayFacturas, 2);
LRFacturaEmitida0 := LRfacturasEmitidasType.Create;
LRFacturaEmitida0.PeriodoImpositivo := PeriodoImpositivo.Create;
LRFacturaEmitida0.PeriodoImpositivo.Ejercicio := '23';
LRFacturaEmitida0.PeriodoImpositivo.Periodo := TipoPeriodoType._02;
arrayFacturas[0] := LRFacturaEmitida0;
LRFacturaEmitida1 := LRfacturasEmitidasType.Create;
LRFacturaEmitida1.PeriodoImpositivo := PeriodoImpositivo.Create;
LRFacturaEmitida1.PeriodoImpositivo.Ejercicio := '24';
//LRFacturaEmitida.PeriodoImpositivo.Periodo := TipoPeriodoType._01;
arrayFacturas[1] := LRFacturaEmitida1;
LRfacturasEmitidas.RegistroLRFacturasEmitidas := arrayFacturas;
try
result := GetsiiSOAP(false, 'https://prewww1.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP', HTTPRIO1).SuministroLRFacturasEmitidas(LRfacturasEmitidas);
ShowMessage('Estado envio: ' + result.RespuestaLinea[0].DescripcionErrorRegistro);
finally
end;
end;
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:
// ************************************************************************ // // The types declared in this file were generated from data read from the // WSDL File described below: // WSDL : https://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SistemaFacturacion.wsdl // >Import : https://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SistemaFacturacion.wsdl>0 // >Import : https://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SuministroInformacion.xsd // >Import : https://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SuministroLR.xsd // >Import : https://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/RespuestaSuministro.xsd // Encoding : UTF-8 // Version : 1.0 // (22/12/2023 10:00:16 - - $Rev: 112483 $) // ************************************************************************ // 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. |
|
#8
|
||||
|
||||
|
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:
__________________
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. |
|
#9
|
|||
|
|||
|
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
SetLength(arrayFacturas, 1);
arrayFacturas[0] := regFactura;
result := GetsfSOAP(true, '', HTTPRIO1).AltaFactuSistemaFacturacion(ArrayFacturas);
|
|
#10
|
||||
|
||||
|
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.
__________________
Be water my friend. |
|
#11
|
|||
|
|||
|
Buenos días.
Perdonarme, soy bastante nuevo en esto de programación utilizando xsd,wsdl... Estoy un poco o un mucho perdido. He llegado hasta aquí, para generar el xml de una factura, pero no sé de dónde sale o cómo hacer la función NewFacturaAlta
Muchas Gracias. |
|
#12
|
||||
|
||||
|
Cita:
Gracias Germán, seguro que me vienen bien. Mi preocupación es que mi Delphi 10.1 no sea compatible o algo así y eso si que será un problema. A ver si alguien que use esta versión me puede decir algo. Gracias y un saludo.
__________________
Be water my friend. |
|
#13
|
|||
|
|||
|
Me suena que ya lo intenté yo y si que hay incompatibilidades.
|
|
#14
|
||||
|
||||
|
Aprovecho que se ha publicado documentación para actualizar el primer hilo del mensaje con los últimos cambios y documentos.
Además se ha habilitado una nueva sección dentro del FTP del club, donde se irán copiando/almacenando los documentos, para tenerla accesible en cualquier momento. No sólo tiene que ser documentación "oficial"; Si se cree conveniente que otros documentos, códigos o información pueden ser útiles, también se pueden incorporar (basta con que aviséis a algún moderador o a mi mismo). https://terawiki.clubdelphi.com/Otro...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. |
|
#15
|
|||
|
|||
|
Cita:
El link es: https://www.clubdelphi.com/foros/sho...&postcount=933 Creo que al final el motivo era porque las urls eran https, pero nadie me lo "confirmó/rebatió". A ver si ahora entre los dos lo conseguimos descifrar... |
|
#16
|
||||
|
||||
|
Cita:
Pues no sé qué decirte pero me extrañaría que fuera por el https porque las de la aeat también lo son y ahí en su día no tuve grandes problemas aunque si es cierto que con las últimas versiones si que los he tenido. Saludos.
__________________
Be water my friend. |
|
#17
|
||||
|
||||
|
Ok, se me ha ocurrido probar a importar el fichero desde un Delphi Berlin que tengo en un portátil y me ha funcionado correctamente por lo que deduzco que debe de ser un problema de mi Delphi local. Seguiré mirando a ver qué averiguo.
Gracias y un saludo.
__________________
Be water my friend. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|