Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-06-2024
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.214
Poder: 24
newtron Va camino a la fama
Buenas.


Igual que declaras una matriz para los ivas soportados tienes que declarar una distinta para los ivas soportados de inversión del sujeto pasivo.


Código SQL [-]
  IVASP: InversionSujetoPasivo;


Dependiendo si tiene iva o no lo rellenas o no y finalmente se lo asignas:


Código SQL [-]
   ARegistroLRFacturasRecibidas[N].FacturaRecibida.desglosefactura.InversionSujetoPasivo:=IVASP;


Así es como yo lo hago.


Saludos.
__________________
Be water my friend.
Responder Con Cita
  #2  
Antiguo 20-08-2024
muli muli is offline
Miembro
 
Registrado: jun 2003
Ubicación: A Coruña
Posts: 202
Poder: 24
muli Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Buenas.


Igual que declaras una matriz para los ivas soportados tienes que declarar una distinta para los ivas soportados de inversión del sujeto pasivo.


Código SQL [-]
  IVASP: InversionSujetoPasivo;


Dependiendo si tiene iva o no lo rellenas o no y finalmente se lo asignas:


Código SQL [-]
   ARegistroLRFacturasRecibidas[N].FacturaRecibida.desglosefactura.InversionSujetoPasivo:=IVASP;


Así es como yo lo hago.


Saludos.
Muy buena la ayuda, y todo OK, pero ya sabes que siempre hay que darle mas vueltas a todo, en este caso es cuando es un bien de inversion S/N Con el Iva normal, hago lo siguiente:
Código Delphi [-]
  Ivas[1]:=DetalleIVARecibidaType.Create;
  IVAS[1].BaseImponible:=Edit3.Text;            // BASE IMPONIBLE
  IVAS[1].TipoImpositivo:=Edit13.Text;            // IVA %
  IVAS[1].CuotaSoportada:=Edit14.Text;
  If CheckBox2.Checked Then    // Si es un bien de inversión.
  Begin
     Ivas[1].BienInversion:=BienInversionType(0);
  End;


Pero en la inversión de sujeto pasivo no tiene la propiedad de Bien Inversión, sin embargo en el portal de la agencia tributaria si permite poner bien de inversion s/n.

Alguna luz al respecto?
__________________
SI UN PROBLEMA TIENE SOLUCION, YA NO ES UN PROBLEMA, Y SI NO LA TIENE PARA QUE PREOCUPARSE.
Responder Con Cita
  #3  
Antiguo 20-08-2024
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.214
Poder: 24
newtron Va camino a la fama
Cita:
Empezado por muli Ver Mensaje
Muy buena la ayuda, y todo OK, pero ya sabes que siempre hay que darle mas vueltas a todo, en este caso es cuando es un bien de inversion S/N Con el Iva normal, hago lo siguiente:
Código Delphi [-] Ivas[1]:=DetalleIVARecibidaType.Create; IVAS[1].BaseImponible:=Edit3.Text; // BASE IMPONIBLE IVAS[1].TipoImpositivo:=Edit13.Text; // IVA % IVAS[1].CuotaSoportada:=Edit14.Text; If CheckBox2.Checked Then // Si es un bien de inversión. Begin Ivas[1].BienInversion:=BienInversionType(0); End;



Pero en la inversión de sujeto pasivo no tiene la propiedad de Bien Inversión, sin embargo en el portal de la agencia tributaria si permite poner bien de inversion s/n.

Alguna luz al respecto?

Ahí me has pillado porque no tenía conciencia de que hubiera que informar de ese detalle y mirando por las preguntas frecuentes me encuentro esto:





donde dice que no es obligatorio informar de ese dato.


Saludos.
__________________
Be water my friend.
Responder Con Cita
  #4  
Antiguo 20-08-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 260
Poder: 5
antoine0 Va por buen camino
Cita:
Empezado por muli Ver Mensaje
Pero en la inversión de sujeto pasivo no tiene la propiedad de Bien Inversión [...]
Debería estar si se han importado correctamente los XSD de la versión 1.1 bis (2022)...
Una factura recibida «normal» tiene un bloque DesgloseIVA/DetalleIVA de tipo DetalleIVARecibidaType (que incluye campos como PorcentCompensacionREAGYP o ImporteCompensacionREAGYP) que acaba con un campo BienInversion que es opcional.
La misma factura recibida puede tener también (antes) un bloque InversionSujetoPasivo/DetalleIVA de tipo DetalleIVARecibida2Type (sin los campos PorcentCompensacionREAGYP o ImporteCompensacionREAGYP) que acaba también con un campo BienInversion, que también es opcional.

Entonces creo que el código siguiente debería funcionar:
Código Delphi [-]
  Ivas[0]:=DetalleIVARecibida2Type.Create;
  IVAS[0].BaseImponible:=Edit3.Text;            // BASE IMPONIBLE
  IVAS[0].TipoImpositivo:=Edit13.Text;            // IVA %
  IVAS[0].CuotaSoportada:=Edit14.Text;
  If CheckBox2.Checked Then    // Si es un bien de inversión.
  Begin
     Ivas[0].BienInversion:=BienInversionType(0);
  End;
Responder Con Cita
  #5  
Antiguo 09-10-2024
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 295
Poder: 22
afxe Va por buen camino
Problemas con Rectificativas al 0% y 5%

Buenas... Me están rechazando las facturas rectificativas (TipoFactura = R1) de aquellos que no están exentos (tipoNoExento = S1) y que tienen un IVA del 0% o del 5%. ¿Alquien se ha topado con este error? adjunto XML que genero.

Código:
<?xml version="1.0"?>
<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">
<SOAP-ENV:Body>
<SuministroLRFacturasEmitidas xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd">
<Cabecera>
  <IDVersionSii>1.1</IDVersionSii>
  <Titular>
    <NombreRazon>APPPP, S.A.</NombreRazon>
    <NIF>A99999999</NIF>
  </Titular>
  <TipoComunicacion>A0</TipoComunicacion>
</Cabecera>
<RegistroLRFacturasEmitidas>
  <PeriodoLiquidacion>
    <Ejercicio>2024</Ejercicio>
    <Periodo>10</Periodo>
  </PeriodoLiquidacion>
  <IDFactura>
    <IDEmisorFactura>
      <NIF>A29999999</NIF>
    </IDEmisorFactura>
    <NumSerieFacturaEmisor>24/R/001168</NumSerieFacturaEmisor>
    <FechaExpedicionFacturaEmisor>01-10-2024</FechaExpedicionFacturaEmisor>
  </IDFactura>
  <FacturaExpedida>
    <TipoFactura>R1</TipoFactura>
    <TipoRectificativa>I</TipoRectificativa>
    <ClaveRegimenEspecialOTrascendencia>01</ClaveRegimenEspecialOTrascendencia>
    <ImporteTotal>-24.20</ImporteTotal>
    <DescripcionOperacion>Factura a cliente</DescripcionOperacion>
    <Contraparte>
      <NombreRazon>RESTAOCIO SL</NombreRazon>
      <NIF>B40197246</NIF>
    </Contraparte>
    <TipoDesglose>
      <DesgloseFactura>
        <Sujeta>
          <NoExenta>
            <TipoNoExenta>S1</TipoNoExenta>
            <DesgloseIVA>
              <DetalleIVA>
                <TipoImpositivo>0.00</TipoImpositivo>
                <BaseImponible>-24.20</BaseImponible>
                <CuotaRepercutida>0.00</CuotaRepercutida>
              </DetalleIVA>
            </DesgloseIVA>
          </NoExenta>
        </Sujeta>
      </DesgloseFactura>
    </TipoDesglose>
  </FacturaExpedida>
</RegistroLRFacturasEmitidas>
</SuministroLRFacturasEmitidas>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
¿Alguien me echa una manita?
__________________
Amar al mundo apasionadamente.
Responder Con Cita
  #6  
Antiguo 10-10-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 332
Poder: 6
edari Va por buen camino
Cita:
Empezado por afxe Ver Mensaje
Buenas... Me están rechazando las facturas rectificativas (TipoFactura = R1) de aquellos que no están exentos (tipoNoExento = S1) y que tienen un IVA del 0% o del 5%. ¿Alquien se ha topado con este error? adjunto XML que genero.

Código:
<?xml version="1.0"?>
<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">
<SOAP-ENV:Body>
<SuministroLRFacturasEmitidas xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd">
<Cabecera>
  <IDVersionSii>1.1</IDVersionSii>
  <Titular>
    <NombreRazon>APPPP, S.A.</NombreRazon>
    <NIF>A99999999</NIF>
  </Titular>
  <TipoComunicacion>A0</TipoComunicacion>
</Cabecera>
<RegistroLRFacturasEmitidas>
  <PeriodoLiquidacion>
    <Ejercicio>2024</Ejercicio>
    <Periodo>10</Periodo>
  </PeriodoLiquidacion>
  <IDFactura>
    <IDEmisorFactura>
      <NIF>A29999999</NIF>
    </IDEmisorFactura>
    <NumSerieFacturaEmisor>24/R/001168</NumSerieFacturaEmisor>
    <FechaExpedicionFacturaEmisor>01-10-2024</FechaExpedicionFacturaEmisor>
  </IDFactura>
  <FacturaExpedida>
    <TipoFactura>R1</TipoFactura>
    <TipoRectificativa>I</TipoRectificativa>
    <ClaveRegimenEspecialOTrascendencia>01</ClaveRegimenEspecialOTrascendencia>
    <ImporteTotal>-24.20</ImporteTotal>
    <DescripcionOperacion>Factura a cliente</DescripcionOperacion>
    <Contraparte>
      <NombreRazon>RESTAOCIO SL</NombreRazon>
      <NIF>B40197246</NIF>
    </Contraparte>
    <TipoDesglose>
      <DesgloseFactura>
        <Sujeta>
          <NoExenta>
            <TipoNoExenta>S1</TipoNoExenta>
            <DesgloseIVA>
              <DetalleIVA>
                <TipoImpositivo>0.00</TipoImpositivo>
                <BaseImponible>-24.20</BaseImponible>
                <CuotaRepercutida>0.00</CuotaRepercutida>
              </DetalleIVA>
            </DesgloseIVA>
          </NoExenta>
        </Sujeta>
      </DesgloseFactura>
    </TipoDesglose>
  </FacturaExpedida>
</RegistroLRFacturasEmitidas>
</SuministroLRFacturasEmitidas>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
¿Alguien me echa una manita?

A nosotros nos pasa igual


Mis clientes intentan hacer abonos al 0% o al 5% y tampoco les deja


Lo único que he conseguido es subir los del 0% pasándolos como Nosujeta pero no sé me estoy convirtiendo en el "delincuente" del mes


...
<sii:TipoDesglose>
<siiesgloseFactura>
<sii:NoSujeta>
<sii:ImportePorArticulos7_14_Otros>850.00</sii:ImportePorArticulos7_14_Otros>

</sii:NoSujeta>


</siiesgloseFactura>


</sii:TipoDesglose>


...

Y las del 5% ni idea




Última edición por edari fecha: 10-10-2024 a las 09:12:42.
Responder Con Cita
  #7  
Antiguo 10-10-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 260
Poder: 5
antoine0 Va por buen camino
Cita:
Empezado por afxe Ver Mensaje
Buenas... Me están rechazando las facturas rectificativas (TipoFactura = R1) de aquellos que no están exentos (tipoNoExento = S1) y que tienen un IVA del 0% o del 5%. ¿Alquien se ha topado con este error?
¿Alguien me echa una manita?
Falta la fecha de operación.

Desde la última actualización en julio, Hacienda averigua si el tipo está ajustado a la fecha de operación indicada. Si no hay fecha de operación, utiliza la fecha de factura.
Y una factura rectificativa como el ejemplo está fechada (correctamente) en octubre, por tanto un tipo sujeto del 0% no es posible (y supongo que será igual para el 5%). Hay que indicar la fecha de operación, que en tal caso se corresponde con la fecha de operación de la factura rectificada.
Responder Con Cita
  #8  
Antiguo 10-10-2024
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 295
Poder: 22
afxe Va por buen camino
Creo entender que hay que indicar en fecha de operación, no la fecha en que se retira la mercancía, sino la fecha en la que se vendió la mercancía que ahora es retirada.... ¿Correcto? Pues en el módulo de contabilidad no tengo acceso a ese dato. Intentaré poner a pelo fecha de septiembre a cualquier IVA del 0% o 5% a ver si cuela y os digo el resultado.
Edito: Tengo un problema: En la misma factura cambio de producto: (Se retira mercancía a punto de caducar y se cambia por mercancía con más fecha de caducidad, operaciones típicas en lácteos y cárnicas envasadas). Tengo IVA del 0% y 2%, o 5% y 7.5% en la misma factura. La FechaOperacion es única para la factura.
__________________
Amar al mundo apasionadamente.

Última edición por afxe fecha: 10-10-2024 a las 13:00:13.
Responder Con Cita
  #9  
Antiguo 10-10-2024
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 295
Poder: 22
afxe Va por buen camino
Ha funcionado. Al generar los registros de IVA, si detecto un 0% o un 5% y es rectificativa, encasqueto a pelo: aReg_Fra_Emi[Ind].FacturaExpedida.FechaOperacion := '30-09-2024';

Lo he comentado con el cliente y me dice que habrá que hacer algo parecido cuando el IVA suba del 2% al 4% y del 7.% al 10%. Me comenta que cuando se ponga con las facturas de rappel en enero del año que viene, si va a tener que hacer una factura por cada periodo de IVA actividad de IVA, ya que la FechaOperacion es única para la factura....
__________________
Amar al mundo apasionadamente.
Responder Con Cita
  #10  
Antiguo 06-03-2025
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 662
Poder: 18
espinete Va camino a la fama
Buenas!

Hace tiempo que no toco este tema porque no tengo muchos clientes que usen el SII, pero casualmente esta semana un cliente nos ha dicho que recibe este error:

Received content of invalid content-type setting: text/html - SOAP expects "text/xml"

Lo cierto es que no sé por qué de repente da este error, porque no se ha cambiado nada.

Uso el componente HTTPRIO. Lo tengo así:
- SecureProtocols: TLS12 y TLS13
- En WSDL Location tengo: https://www2.agenciatributaria.gob.e...tEmitidas.wsdl (no sé si es necesario si luego asigno yo el puerto, addr y service a mano, pero bueno, ahí está)
- Port y Service los tengo en blanco en el componente porque lo relleno a mano para poder alternar entre Pruebas y Producción de esta manera:

Código:
      if (ENTORNO_PRUEBAS) then
      begin
          HTTPRIO1.WSDLLocation := 'https://prewww1.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
          HTTPRIO1.Service := 'siiService';
          HTTPRIO1.Port := 'SuministroFactEmitidasPruebas';
      end
      else
      begin
          HTTPRIO1.WSDLLocation := 'https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
          HTTPRIO1.Service := 'siiService';
          HTTPRIO1.Port := 'SuministroFactEmitidas';
      end;
      result := GetsiiSOAP(false,'',HTTPRIO1).SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);
He tenido que hacer algunos cambios porque el código anterior era de Delphi 11 y ahora lo he tenido que pasar a Delphi 12.2, pero no recuerdo haber tocado nada sobre el Content-Type ni donde puedo asignarle otro (text/xml)
Responder Con Cita
  #11  
Antiguo 06-03-2025
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.214
Poder: 24
newtron Va camino a la fama
Cita:
Empezado por espinete Ver Mensaje
Buenas!

Hace tiempo que no toco este tema porque no tengo muchos clientes que usen el SII, pero casualmente esta semana un cliente nos ha dicho que recibe este error:

Received content of invalid content-type setting: text/html - SOAP expects "text/xml"

Lo cierto es que no sé por qué de repente da este error, porque no se ha cambiado nada.

Uso el componente HTTPRIO. Lo tengo así:
- SecureProtocols: TLS12 y TLS13
- En WSDL Location tengo: https://www2.agenciatributaria.gob.e...tEmitidas.wsdl (no sé si es necesario si luego asigno yo el puerto, addr y service a mano, pero bueno, ahí está)
- Port y Service los tengo en blanco en el componente porque lo relleno a mano para poder alternar entre Pruebas y Producción de esta manera:

Código:
      if (ENTORNO_PRUEBAS) then
      begin
          HTTPRIO1.WSDLLocation := 'https://prewww1.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
          HTTPRIO1.Service := 'siiService';
          HTTPRIO1.Port := 'SuministroFactEmitidasPruebas';
      end
      else
      begin
          HTTPRIO1.WSDLLocation := 'https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
          HTTPRIO1.Service := 'siiService';
          HTTPRIO1.Port := 'SuministroFactEmitidas';
      end;
      result := GetsiiSOAP(false,'',HTTPRIO1).SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);
He tenido que hacer algunos cambios porque el código anterior era de Delphi 11 y ahora lo he tenido que pasar a Delphi 12.2, pero no recuerdo haber tocado nada sobre el Content-Type ni donde puedo asignarle otro (text/xml)

Buenas compañero.


¿Es posible que sea por la versión de windows? Tema de compatibilidades con TLS y eso.


Saludos.
__________________
Be water my friend.
Responder Con Cita
  #12  
Antiguo 07-03-2025
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 662
Poder: 18
espinete Va camino a la fama
Cita:
Empezado por newtron Ver Mensaje
Buenas compañero.


¿Es posible que sea por la versión de windows? Tema de compatibilidades con TLS y eso.


Saludos.
No debería porque en mi equipo, haciendo pruebas de envío, tengo Windows 11.
Al cliente también le pasa y tiene W11 también.
Responder Con Cita
  #13  
Antiguo 07-03-2025
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.214
Poder: 24
newtron Va camino a la fama
Cita:
Empezado por espinete Ver Mensaje
No debería porque en mi equipo, haciendo pruebas de envío, tengo Windows 11.
Al cliente también le pasa y tiene W11 también.

Pues no sé. Lo único que te puedo decir es que a mi me salía exactamente el mismo error intentando enviar datos con mi W7 a partir de la actualización que hicieron de seguridad en los servidores de la aeat y por eso tuve que cambiar mi máquina y ahora uso una con W10.


Una prueba que podrías hacer es intentar enviar datos desde W10 a ver....



Saludos.
__________________
Be water my friend.
Responder Con Cita
  #14  
Antiguo 07-03-2025
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 193
Poder: 14
elcharlie Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
Buenas!

Hace tiempo que no toco este tema porque no tengo muchos clientes que usen el SII, pero casualmente esta semana un cliente nos ha dicho que recibe este error:

Received content of invalid content-type setting: text/html - SOAP expects "text/xml"

Lo cierto es que no sé por qué de repente da este error, porque no se ha cambiado nada.

Uso el componente HTTPRIO. Lo tengo así:
- SecureProtocols: TLS12 y TLS13
- En WSDL Location tengo: https://www2.agenciatributaria.gob.e...tEmitidas.wsdl (no sé si es necesario si luego asigno yo el puerto, addr y service a mano, pero bueno, ahí está)
- Port y Service los tengo en blanco en el componente porque lo relleno a mano para poder alternar entre Pruebas y Producción de esta manera:

Código:
      if (ENTORNO_PRUEBAS) then
      begin
          HTTPRIO1.WSDLLocation := 'https://prewww1.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
          HTTPRIO1.Service := 'siiService';
          HTTPRIO1.Port := 'SuministroFactEmitidasPruebas';
      end
      else
      begin
          HTTPRIO1.WSDLLocation := 'https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
          HTTPRIO1.Service := 'siiService';
          HTTPRIO1.Port := 'SuministroFactEmitidas';
      end;
      result := GetsiiSOAP(false,'',HTTPRIO1).SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);
He tenido que hacer algunos cambios porque el código anterior era de Delphi 11 y ahora lo he tenido que pasar a Delphi 12.2, pero no recuerdo haber tocado nada sobre el Content-Type ni donde puedo asignarle otro (text/xml)
Buenos días compi,
A mi ese mensaje me apareció el otro día, haciendo pruebas en VERI*FACTU, al enviar la comunicación sin firmar, es decir no encontró el certificado y lo estaba intentando enviar sin firma.
Lo comento, por si va por ahí los tiros y te sirve de algo.
Suerte
Un saludo
Responder Con Cita
  #15  
Antiguo 07-03-2025
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 662
Poder: 18
espinete Va camino a la fama
Cita:
Empezado por elcharlie Ver Mensaje
Buenos días compi,
A mi ese mensaje me apareció el otro día, haciendo pruebas en VERI*FACTU, al enviar la comunicación sin firmar, es decir no encontró el certificado y lo estaba intentando enviar sin firma.
Lo comento, por si va por ahí los tiros y te sirve de algo.
Suerte
Un saludo
Sería raro, porque el cliente lleva enviando facturas sin problema hasta hace unos días, y revisando el código, haciendo pruebas de envío con un certificado válido, yo obtengo el mismo error.
No sé si el código estará bien, pero no he cambiado absolutamente nada (de hecho era un proyecto que llevaba años sin tocarse). Ha sido ahora al abrir el proyecto con Delphi 12.2 cuando he tenido que hacer algún cambio, pero sin embargo el cliente tiene la misma versión de siempre.
Responder Con Cita
  #16  
Antiguo 07-03-2025
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 662
Poder: 18
espinete Va camino a la fama
A ver, que esto está empezando a volverme loco...

He creado el XML y lo he revisado con la utilidad de "invocación de webservice de la AEAT" para comprobar si es válido:
https://prewww1.aeat.es/static_files...teWSAEAT2.html

La respuesta del servidor es "Correcto".

Por lo tanto, entiendo que en el XML que genero está todo bien, pero por algún motivo el componente HTTPRIO no está leyendo la respuesta porque me devuelve el error:

Received content of invalid content-type setting: text/html - SOAP expects "text/xml"

Entiendo que en el SII no hay que firmar el XML, solo el envío. Esto lo hago en el evento OnNeedCertificate:

Código:
    for I := 0 to ACertificateList.Count - 1 do
    begin
        if i=strtointdef(comboCertificate.items.SelectedItem.Hint,0) then
        begin
            AnIndex := I;
            Exit;
        end;
    end;
El envío lo hago usando el HTTPRIO, que no es que me guste pero no sé si hay otra forma de hacerlo (En TicketBAI y VeriFactu uso NetHTTPRequest y NetHTTPClient).

Código:
    try
      // se hace la llamada a la funcion suministrada por el WS
      if ENTORNO_DE_PRUEBAS then
          begin
              HTTPRIO1.WSDLLocation := 'https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroFactEmitidas.wsdl';
              HTTPRIO1.Service := 'siiService';
              HTTPRIO1.Port := 'SuministroFactEmitidasPruebas';
              HTTPRIO1.URL := 'https://prewww1.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
          end
          else
          begin
              HTTPRIO1.WSDLLocation := 'https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroFactEmitidas.wsdl';
              HTTPRIO1.Service := 'siiService';
              HTTPRIO1.Port := 'SuministroFactEmitidas';
              HTTPRIO1.URL := 'https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
          end;
          result := GetsiiSOAP(false,HTTPRIO1.URL,HTTPRIO1).SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);

      //mostrar los resultados devueltos por la llamada
      for i := low(result.RespuestaLinea) to High(result.RespuestaLinea) do
      begin
          with result.RespuestaLinea[i] do
          begin
            //si el estado no es correcto, se muestran los errores
            if EstadoRegistro <> EstadoRegistroType(0) then
            begin
                showmessage('Error ' + InttoStr(CodigoErrorRegistro)+#13#10+DescripcionErrorRegistro);
                error:=DescripcionErrorRegistro;
            end
            else
            begin
                spain.Table1.edit;
                spain.Table1.FieldByName('ID_HACIENDA').AsString:=result.CSV;
                spain.Table1.Post;
            end;
          end;
      end;
    except
      On E:Exception do
        MessageDlg(E.Message, mtError, [mbOK], 0);
    end;
¿Alguien puede decirme si el envío lo está haciendo de la misma manera o si ve algo raro en lo anterior?

He probado también a hacer el envío con el componente NetHTTPClient para ver qué pasa. En ese caso, como respuesta obtengo un código html de una página de la AEAT (eso explica el error si uso HTTPRIO, estoy obteniendo como respuesta una página html en vez de un xml).

¿Puede alguien confirmarme si las URL que estoy usando y la forma de llamar a GetsiiSOAP() es correcta? Algo me dice que el envío está abriendo otra página, o algo similar, y por eso devuelve html y no xml.
La firma del envío la hago en el evento OnNeedCertificate del HTTPRIO. No creo que eso esté mal porque lleva funcionando así siempre.

¿Será que debo usar otro certificado distinto? ¿Hay que darse de alta en algún sitio primero? ¿Puedo usar certificados de prueba? ¿Debe el nombre del emisor coincidir con el nombre en el certificado?

La verdad es que ya no sé qué más probar. Funcionaba todo bien hasta hace unos días (al menos a mi cliente). Y ahora tanto él como yo no podemos enviar al entorno de pruebas.
Responder Con Cita
  #17  
Antiguo 07-03-2025
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.214
Poder: 24
newtron Va camino a la fama
Cita:
Empezado por espinete Ver Mensaje
A ver, que esto está empezando a volverme loco...

He creado el XML y lo he revisado con la utilidad de "invocación de webservice de la AEAT" para comprobar si es válido:
https://prewww1.aeat.es/static_files...teWSAEAT2.html

La respuesta del servidor es "Correcto".

Por lo tanto, entiendo que en el XML que genero está todo bien, pero por algún motivo el componente HTTPRIO no está leyendo la respuesta porque me devuelve el error:

Received content of invalid content-type setting: text/html - SOAP expects "text/xml"

Entiendo que en el SII no hay que firmar el XML, solo el envío. Esto lo hago en el evento OnNeedCertificate:

Código:
    for I := 0 to ACertificateList.Count - 1 do
    begin
        if i=strtointdef(comboCertificate.items.SelectedItem.Hint,0) then
        begin
            AnIndex := I;
            Exit;
        end;
    end;
El envío lo hago usando el HTTPRIO, que no es que me guste pero no sé si hay otra forma de hacerlo (En TicketBAI y VeriFactu uso NetHTTPRequest y NetHTTPClient).

Código:
    try
      // se hace la llamada a la funcion suministrada por el WS
      if ENTORNO_DE_PRUEBAS then
          begin
              HTTPRIO1.WSDLLocation := 'https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroFactEmitidas.wsdl';
              HTTPRIO1.Service := 'siiService';
              HTTPRIO1.Port := 'SuministroFactEmitidasPruebas';
              HTTPRIO1.URL := 'https://prewww1.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
          end
          else
          begin
              HTTPRIO1.WSDLLocation := 'https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroFactEmitidas.wsdl';
              HTTPRIO1.Service := 'siiService';
              HTTPRIO1.Port := 'SuministroFactEmitidas';
              HTTPRIO1.URL := 'https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
          end;
          result := GetsiiSOAP(false,HTTPRIO1.URL,HTTPRIO1).SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);

      //mostrar los resultados devueltos por la llamada
      for i := low(result.RespuestaLinea) to High(result.RespuestaLinea) do
      begin
          with result.RespuestaLinea[i] do
          begin
            //si el estado no es correcto, se muestran los errores
            if EstadoRegistro <> EstadoRegistroType(0) then
            begin
                showmessage('Error ' + InttoStr(CodigoErrorRegistro)+#13#10+DescripcionErrorRegistro);
                error:=DescripcionErrorRegistro;
            end
            else
            begin
                spain.Table1.edit;
                spain.Table1.FieldByName('ID_HACIENDA').AsString:=result.CSV;
                spain.Table1.Post;
            end;
          end;
      end;
    except
      On E:Exception do
        MessageDlg(E.Message, mtError, [mbOK], 0);
    end;
¿Alguien puede decirme si el envío lo está haciendo de la misma manera o si ve algo raro en lo anterior?

He probado también a hacer el envío con el componente NetHTTPClient para ver qué pasa. En ese caso, como respuesta obtengo un código html de una página de la AEAT (eso explica el error si uso HTTPRIO, estoy obteniendo como respuesta una página html en vez de un xml).

¿Puede alguien confirmarme si las URL que estoy usando y la forma de llamar a GetsiiSOAP() es correcta? Algo me dice que el envío está abriendo otra página, o algo similar, y por eso devuelve html y no xml.
La firma del envío la hago en el evento OnNeedCertificate del HTTPRIO. No creo que eso esté mal porque lleva funcionando así siempre.

¿Será que debo usar otro certificado distinto? ¿Hay que darse de alta en algún sitio primero? ¿Puedo usar certificados de prueba? ¿Debe el nombre del emisor coincidir con el nombre en el certificado?

La verdad es que ya no sé qué más probar. Funcionaba todo bien hasta hace unos días (al menos a mi cliente). Y ahora tanto él como yo no podemos enviar al entorno de pruebas.

Pues con más razón compañero, haz lo que te digo y prueba en una máquina con W10 a ver si W11 va a tener algún tipo de configuración especial con los nuevos protocolos de seguridad de la aeat.


Saludos.
__________________
Be water my friend.
Responder Con Cita
  #18  
Antiguo 07-03-2025
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.229
Poder: 24
keys Va por buen camino
En windows 11 funciona correctamente. Lo único que te puedo decir es que pases un pequeño proyecto sólo con el envío de una factura y te lo puedo probar.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TICKET BAI (TicketBAI); Nuevo sistema de la Agencia Tributaria del Pais Vasco keys Internet 4524 Hace 1 Día 16:17:40
AEAT envio de datos vía Webservice problemas con WSDL CelsoO Internet 11 09-10-2019 20:03:41
webService Soap de la Administración Digital Española notific@ apicito Internet 3 31-01-2017 11:25:28
Error en Webservice funcion envio de sms webmasterplc Delphi para la web 5 25-07-2013 20:10:29
Problemas con envío de XML a un WebService davidvamo Internet 1 13-02-2007 15:49:20


La franja horaria es GMT +2. Ahora son las 15:46:24.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi