Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice (https://www.clubdelphi.com/foros/showthread.php?t=91252)

keys 04-07-2019 09:59:26

Cita:

Empezado por xamminf (Mensaje 532616)
Buen día, bon día, egun on, good morning, etc, etc.

¿ Alguien ha enviado ya facturas por el nuevo portal de pruebas ?
¿ Algún cambio que haya que hacer a los envios o recepciones ?

Gracias

En principio no han cambiado nada. Hemos hecho envíos y funcionan. Lo que han añadido son validaciones nuevas, que si no las estas haciendo antes de enviar, te darán errores que antes no daban.

Un Saludo.

xamminf 04-07-2019 10:29:57

Gracias señor keys por su respuesta.
Haré alguna prueba... pues...

PASPAS 04-07-2019 12:03:41

Cita:

Empezado por keys (Mensaje 532618)
En principio no han cambiado nada. Hemos hecho envíos y funcionan. Lo que han añadido son validaciones nuevas, que si no las estas haciendo antes de enviar, te darán errores que antes no daban.

Un Saludo.


Hola en principio veo que con las nuevas validadiciones me dejan de funcionar la ClaveRegimenEspecialOTrascendencia=02
Ya que anteriormente marcaba esta clave para aquellos sujetos que son exportaciones. y claro aplicando o no la causa de exención.
Ahora ya no se puede siempre me devuelve:
Código: 1252 Si la unica clave de regimen especial es 02 y el TipoComunicacion no es A5 ni A6, sólo se puede indicar operación Sujeta/Exenta para el tipo de desglose Entrega de Bienes.


He optado por poner siempre que se de el caso de cliente exportación o ese tipo de clave poner siempre que la ClaveRegimenEspecialOTrascendencia=01
Siendo así ya no falla.

Alguién ha realizado lo mismo?? o no os pasa esto....
Un saludo

newtron 04-07-2019 14:34:54

Cita:

Empezado por PASPAS (Mensaje 532620)
Hola en principio veo que con las nuevas validadiciones me dejan de funcionar la ClaveRegimenEspecialOTrascendencia=02
Ya que anteriormente marcaba esta clave para aquellos sujetos que son exportaciones. y claro aplicando o no la causa de exención.
Ahora ya no se puede siempre me devuelve:
Código: 1252 Si la unica clave de regimen especial es 02 y el TipoComunicacion no es A5 ni A6, sólo se puede indicar operación Sujeta/Exenta para el tipo de desglose Entrega de Bienes.


He optado por poner siempre que se de el caso de cliente exportación o ese tipo de clave poner siempre que la ClaveRegimenEspecialOTrascendencia=01
Siendo así ya no falla.

Alguién ha realizado lo mismo?? o no os pasa esto....
Un saludo


Yo acabo de hacer una prueba y no me da problemas. Te paso el trozo de código que uso:


Código Delphi [-]
            ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion:=TipoConDesgloseType.Create;
            ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega:=TipoSinDesgloseType.Create;
            ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta:=SujetaType.Create;
            setLength(_Exenta,1);
            _Exenta[0]:=DetalleExentaType.create;             // CREAR base exenta
            _Exenta[0].BaseImponible :=StrTran(Tabla.FieldByName('TOTAL').AsString,',','.');
            _Exenta[0].CausaExencion := CausaExencionType(1);
            ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta.Exenta:=_Exenta;



Saludos

PASPAS 04-07-2019 21:12:45

Cita:

Empezado por newtron (Mensaje 532622)
Yo acabo de hacer una prueba y no me da problemas. Te paso el trozo de código que uso:


Código Delphi [-] ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion:=TipoConDesgloseType.Create; ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega:=TipoSinDesgloseType.Create; ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta:=SujetaType.Create; setLength(_Exenta,1); _Exenta[0]:=DetalleExentaType.create; // CREAR base exenta _Exenta[0].BaseImponible :=StrTran(Tabla.FieldByName('TOTAL').AsString,',','.'); _Exenta[0].CausaExencion := CausaExencionType(1); ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta.Exenta:=_Exenta;




Saludos


Hola Newtron
Veo que en tu caso estas mandando la informacion como Sujeta/Exenta.
En mi caso lo mando como NoSujeta/Exenta. Esa es la diferencia si lo intentas enviar asi con la Clavederegimen="02" veras como te devuelve el error descrito.
También me ocurre lo mismo en el supuesto siguiente:
A un cliente extranjero le emito una factura por entrega de bienes y destino es USA y mi bien sale desde Mexico con lo que no pasa por España.

Esto lo enviaba como exportacion ="02" y con reglas de localizacion por tanto NoSujeta.

En este caso ocurre lo mismo de error. No te permite utilizar "02" antes si dejaba.
He consultado con la AEAT y me indican que debo utilizar la clave de regimen = "01"

Con esa clave ya no me da error.
Por si alguién le pasa igual.

Un saludo

xamminf 05-07-2019 09:27:24

Cita:

Empezado por PASPAS (Mensaje 532630)
Hola Newtron
Veo que en tu caso estas mandando la informacion como Sujeta/Exenta.
En mi caso lo mando como NoSujeta/Exenta. Esa es la diferencia si lo intentas enviar asi con la Clavederegimen="02" veras como te devuelve el error descrito.
También me ocurre lo mismo en el supuesto siguiente:
A un cliente extranjero le emito una factura por entrega de bienes y destino es USA y mi bien sale desde Mexico con lo que no pasa por España.

Esto lo enviaba como exportacion ="02" y con reglas de localizacion por tanto NoSujeta.

En este caso ocurre lo mismo de error. No te permite utilizar "02" antes si dejaba.
He consultado con la AEAT y me indican que debo utilizar la clave de regimen = "01"

Con esa clave ya no me da error.
Por si alguién le pasa igual.

Un saludo


Gracias por la información. Muy amable.

Saludos

newtron 05-07-2019 09:46:35

Cita:

Empezado por PASPAS (Mensaje 532630)
Hola Newtron
Veo que en tu caso estas mandando la informacion como Sujeta/Exenta.
En mi caso lo mando como NoSujeta/Exenta. Esa es la diferencia si lo intentas enviar asi con la Clavederegimen="02" veras como te devuelve el error descrito.


¿Entonces?... ya no me queda claro si lo estoy enviando de forma correcta.

xamminf 15-07-2019 09:40:45

Cita:

Que paren el mundo, que me bajo.
No me cabe la menor duda de que hay mucha gente que vive de burocratizar este'país.
Mucha otra que vive de crear leyes imposibles de cumplir.

En USA, Trump, impuso una ley: por cada ley creada se suprimen dos.

En España tenemos 100.000 leyes en vigor. ¿ Para qué sirven ? Se aplican y se persigue su incumplimiento sólo cuando la autoridad lo ordena, es decir, cuando le conviene, y sirven para que cuando tengas una inspección, de lo que sea, te sacudan con ellas y pases por caja.

Perdón por el off-topic / desahogo.

Casimiro Notevi 15-07-2019 10:33:13

Cita:

Empezado por xamminf (Mensaje 532779)
No me cabe la menor duda de que hay mucha gente que vive de burocratizar este'país.
Mucha otra que vive de crear leyes imposibles de cumplir.
En USA, Trump, impuso una ley: por cada ley creada se suprimen dos.
En España tenemos 100.000 leyes en vigor. ¿ Para qué sirven ? Se aplican y se persigue su incumplimiento sólo cuando la autoridad lo ordena, es decir, cuando le conviene, y sirven para que cuando tengas una inspección, de lo que sea, te sacudan con ellas y pases por caja.
Perdón por el off-topic / desahogo.

Totalmente cierto, y además, no hay ni una ley "clara", todas tienen diferentes interpretaciones, para que abogados y jueces puedan jugar con ellas según les interese. Un desastre total.

xamminf 15-07-2019 13:50:52

Cita:

Empezado por Casimiro Notevi (Mensaje 532781)
Totalmente cierto, y además, no hay ni una ley "clara", todas tienen diferentes interpretaciones, para que abogados y jueces puedan jugar con ellas según les interese. Un desastre total.

Algunas veces oigo hablar en medios de "la mala calidad técnica del legislador".

Si fuera así esa mala calidad técnica... ¿ Por qué no se sancionan a los señores diputados que redactan esas leyes ? ¿ Es que sólo tienen obligación de cumplir diligentemente la ley la ciudadanía que es el soberano ? En realidad estamos, muchas veces, como dices tu, ante una voluntaria forma de redactar tendente a crear un marasmo de interpretaciones en el cual triunfen los que más cerca estén de los sedes de interpretación, porque así de esta manera, es la forma en que nuestra clase política hace leyes que NO SON IGUALES PARA TODOS, porque su interpretación no lo es. Podríamos hablar de la doctrina botín, aquella que se redactó para ser usada una vez y después desapareció.

Casimiro Notevi 15-07-2019 16:14:47

Cita:

Empezado por xamminf (Mensaje 532785)
Algunas veces oigo hablar en medios de "la mala calidad técnica del legislador".
Si fuera así esa mala calidad técnica... ¿ Por qué no se sancionan a los señores diputados que redactan esas leyes ? ¿ Es que sólo tienen obligación de cumplir diligentemente la ley la ciudadanía que es el soberano ? En realidad estamos, muchas veces, como dices tu, ante una voluntaria forma de redactar tendente a crear un marasmo de interpretaciones en el cual triunfen los que más cerca estén de los sedes de interpretación, porque así de esta manera, es la forma en que nuestra clase política hace leyes que NO SON IGUALES PARA TODOS, porque su interpretación no lo es. Podríamos hablar de la doctrina botín, aquella que se redactó para ser usada una vez y después desapareció.

Totalmente cierto.

anapereira 23-08-2019 18:42:04

mismo error
 
Cita:

Empezado por rangiku (Mensaje 530403)
Buenos días a todos,

Necesitaba una ayuda por favor, estoy tratando de comunicar vía webservice las facturas para el SII-IGIC pero siempre me da un error.

Este error sólo se produce con un certificado en específico, con el que el error no aparece. Si me ayudan gracias por favor.

El error mostrado es:


Ya no sé qué hacer para resolver este error, nunca me pasó.

Desde ya gracias por la ayuda.



Tengo el mismo error, ¿cómo lo resolviste?
Gracias

javi_valencia44 26-08-2019 10:26:43

Hola!

Para la nueva versión del SII sabéis si es necesario actualizar el ejecutable? O el mismo de hasta ahora vale

newtron 30-08-2019 10:50:59

Creo que lo único que cambian son las validaciones con lo cual, en teoría, no hay que hacer nada más que comprobar que los datos se traspasan correctamente con estas nuevas validaciones.


Saludos

iozuniga 11-09-2019 20:16:28

Cita:

Empezado por newtron (Mensaje 512438)
Amig@s.
...
Espero que con esto podamos seguir adelante con la tarea de conseguir efectuar la llamada al dichoso webservice.

Saludos.

Buenos días,

Estoy intentando utilizar el proyecto de ejemplo con Delphi Rio y lo primero que he hecho es quitar todas las referencias a archivos Soap.*.pas pues entiendo ya están incluidos en al última versión de Delphi. Al quitar dichos archivos obtenga un error al llamar a la función setCERTIFICADO, que he conseguido encontrar en un archivo del propio Delphi: Soap.SOAPHTTPTrans.pas, lo cual me ha desconcertado aún más.

Si alguien ha conseguido llegar un poco más lejos con un ejemplo en Delphi Rio o Tokio, le agradezco cualquier sugerencia. Muchas gracias.

Un saludo

newtron 12-09-2019 09:29:09

Cita:

Empezado por iozuniga (Mensaje 533422)
Buenos días,

Estoy intentando utilizar el proyecto de ejemplo con Delphi Rio y lo primero que he hecho es quitar todas las referencias a archivos Soap.*.pas pues entiendo ya están incluidos en al última versión de Delphi. Al quitar dichos archivos obtenga un error al llamar a la función setCERTIFICADO, que he conseguido encontrar en un archivo del propio Delphi: Soap.SOAPHTTPTrans.pas, lo cual me ha desconcertado aún más.

Si alguien ha conseguido llegar un poco más lejos con un ejemplo en Delphi Rio o Tokio, le agradezco cualquier sugerencia. Muchas gracias.

Un saludo


No entiendo qué quieres decir con "ya están incluidos en la última versión de Delphi". ¿Has probado a compilar directamente sin quitar esas referencias?


Saludos

iozuniga 12-09-2019 10:52:44

Cita:

Empezado por newtron (Mensaje 533432)
No entiendo qué quieres decir con "ya están incluidos en la última versión de Delphi". ¿Has probado a compilar directamente sin quitar esas referencias?

Buenos días,

Muchísimas gracias por responder. El error que recibo si intento construir el proyecto es:

Código:

[dcc32 Fatal Error] Soap.SOAPHTTPTrans.pas(1590): F2051 Unit Soap.HTTPUtil was compiled with a different version of Soap.SOAPHTTPTrans.IHTTPReqResp
Y si quito del proyecto el archivo Soap.SOAPHTTPTrans.pas se produce el error de función no encontrada antes comentado.

Todos esos ficheros Soap.*.pas que incluye el proyecto, no son más que versiones antiguas del API para usar SOAP. De hecho todos los archivos ya existen en C:\Program Files (x86)\Embarcadero\Studio\20.0\source\soap

Soap.EncdDecd.pas
Soap.HTTPSOAPToPasBind.pas
Soap.HTTPUtil.pas
Soap.inquire_v1.pas
Soap.IntfInfo.pas
Soap.InvConst.pas
Soap.Invoker.pas
Soap.InvokeRegistry.pas
Soap.OPConvert.pas
Soap.OpConvertOptions.pas
Soap.OPToSOAPDomConv.pas
Soap.OPToSOAPDomCustom.pas
Soap.Rio.pas
Soap.SOAPAttach.pas
Soap.SOAPAttachIntf.pas
Soap.SOAPConn.pas
Soap.SOAPConst.pas
Soap.SOAPDm.pas
Soap.SOAPDomConv.pas
Soap.SOAPEnv.pas
Soap.SOAPHTTPClient.pas
Soap.SOAPHTTPDisp.pas
Soap.SOAPHTTPPasInv.pas
Soap.SOAPHTTPTrans.pas
Soap.SOAPLinked.pas
Soap.SOAPMidas.pas
Soap.SOAPPasInv.pas
Soap.TypeTrans.pas
Soap.UDDIHelper.pas
Soap.WebBrokerSOAP.pas
Soap.WebNode.pas
Soap.WebServExp.pas
Soap.Win.CertHelper.pas
Soap.WSDLBind.pas
Soap.WSDLIntf.pas
Soap.WSDLItems.pas
Soap.WSDLLookup.pas
Soap.WSDLNode.pas
Soap.WSDLPub.pas
Soap.WSDLSOAP.pas
Soap.WSILIntf.pas
Soap.XSBuiltIns.pas

Por lo que entiendo que no tiene mucho sentido utilizar los que se incluyen en el proyecto.

Muchas gracias por todo.

Un saludo

newtron 12-09-2019 11:42:03

Pues la verdad es que no sé qué decirte porque yo la versión más actual que tengo es Berlín.


Imagino que lo que tienes que hacer es buscar las equivalencias de las funciones que se usan en el proyecto de ejemplo para la versión que tú tienes.


De una forma o de otra siempre puedes intentar crear un nuevo proyecto a partir del ejemplo e ir implementando los objetos y las funciones según la versión de delphi que uses.



Saludos

iozuniga 12-09-2019 17:41:33

Cita:

Empezado por newtron (Mensaje 533439)
Pues la verdad es que no sé qué decirte porque yo la versión más actual que tengo es Berlín.

Buenas tardes,

Gracias de todos modos. Por si alguien se anima a echar una mano, ya he conseguido al menos arrancar el EXE sin usar ningún módulo de SOAP adicional y usando el certificado existente en la máquina. A parte de quitar todos los ficheros SOAP.*.pas del proyecto y del directorio del mismo, para que pida el certificado tan sólo hay que atrapar un evento y asignar correctamente el parámetro AnIndex:

Código:

procedure TForm1.HTTPRIO1HTTPWebNode1NeedClientCertificate(const Sender: TObject; const ARequest: TURLRequest;
  const ACertificateList: TCertificateList; var AnIndex: Integer);
begin
  AnIndex := 0;
end;

No obstante recibía un error de incompatiblidad de datos html/xml.

He vuelto a descargar el archivo SuministroInmediatoInfo.pas utlizando el fichero WSDL ubicado en:

.../static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInmediatoInfo.wsdl

Y ahora el error que tengo es: invalid URL: "xxxxxxxxxxxxxxxxx"

En fin. Sigo investigando.

Un saludo

Kubelo 23-09-2019 09:16:21

Duda, esto existe?
 
Buenas a tod@s

Una cuestión que me trae un poco de cabeza e igual es un tanto obvia, pero no doy con ello...

Hay algún servicio web o función dentro de los servicios que se ofrecen que te permita conocer el estado de la factura sin realizar un envío? Tengo algunos casos en los que la factura se introdujo a mano (contra los humanos no podemos luchar...) y al enviar la factura de nuevo se de vuelve duplicada, me gustaría poder realizar una comprobación PREVIA al envío y si devuelve duplicada actualizar esa información directamente en mi sistema.

Agradezco vuestro tiempo de antemano. ;)


La franja horaria es GMT +2. Ahora son las 22:39:03.

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