Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Envío de registros y sus respuestas
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-02-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.766
Poder: 8
ermendalenda Va por buen camino
Cita:
Empezado por Jarogo08 Ver Mensaje
Buenas de nuevo. Sólo confirmar que tiene que ser como indica bmfranky, periodo a periodo. Esta es la respuesta de la AEAT:
Desafortunadamente sí.
Responder Con Cita
  #2  
Antiguo 03-06-2025
Sandy656 Sandy656 is offline
Miembro
 
Registrado: jul 2006
Posts: 24
Poder: 0
Sandy656 Va por buen camino
Atascado en la consulta

Hola.
He seguido el ejemplo de la demo de verifactu que funciona de maravilla para el envío de facturas. Pero al intentar hacer lo mismo con la consulta de las facturas enviadas me da error "access violation".
Este es el código que tengo:

Código Delphi [-]
procedure TForm_ConsultaEnviadosAEAT.BotonBuscarClick(Sender: TObject);
var
  ConsultaFactura: ConsultaFactuSistemaFacturacion; // Objeto a enviar
  ACaducidadCertificado:TDate;
  DireccionEnvio:String;
  res : RespuestaConsultaFactuSistemaFacturacionType;  // Respuesta

begin
  ConsultaFactura := ConsultaFactuSistemaFacturacion.Create;
  ConsultaFactura.Cabecera := CabeceraConsultaSf.Create;
  ConsultaFactura.Cabecera.IDVersion:=VersionType._1_0;
  ConsultaFactura.Cabecera.ObligadoEmision := ObligadoEmisionConsultaType.Create;
  ConsultaFactura.Cabecera.ObligadoEmision.NombreRazon := Nombre.Text; // máximo 120 carácteres
  ConsultaFactura.Cabecera.ObligadoEmision.Nif := Nif.Text; // 9 carácteres

  ConsultaFactura.FiltroConsulta:= LRFiltroRegFacturacionType.Create;
  ConsultaFactura.FiltroConsulta.PeriodoImputacion:= PeriodoImputacionType .Create;
  ConsultaFactura.FiltroConsulta.PeriodoImputacion.Ejercicio:=IntToStr(YearOf(Desde.CurrentDate));

  ConsultaFactura.FiltroConsulta.PeriodoImputacion.Periodo:=veriFactuPeriodoType(MonthOf(Desde.Current  Date)); //devuelve el valor según el mes seleccionado

  ConsultaFactura.FiltroConsulta.FechaExpedicionFactura:= FechaExpedicionConsultaType.Create;
  ConsultaFactura.FiltroConsulta.FechaExpedicionFactura.RangoFechaExpedicion:= RangoFechaExpedicionType.Create;
  ConsultaFactura.FiltroConsulta.FechaExpedicionFactura.RangoFechaExpedicion.Desde:= FormatDateTime('dd-mm-yyy',Desde.CurrentDate);
  ConsultaFactura.FiltroConsulta.FechaExpedicionFactura.RangoFechaExpedicion.Hasta:= FormatDateTime('dd-mm-yyy',Hasta.CurrentDate);

    try
    DireccionEnvio:=  'https://prewww1.agenciatributaria.gob.es/wlpl/TIKE-CONT/SvTikeEmitidasQuery';

    ACaducidadCertificado:=VerificarCaducidadCertificado(P_Datavarios.QSala.FieldByName('ultima_firma').  AsString);

    if (P_DataVarios.QSala.FieldByName('ultima_firma').AsString <> '') then //comprueba si tiene firma digital
    begin
      res:=  RespuestaConsultaFactuSistemaFacturacionType.Create;//  ConsultaFactuSistemaFacturacionType.Create;
   línea donde da el error -->   res:=   GetsfPortTypeVerifactu( false, DireccionEnvio , HTTPRIO1 ).ConsultaFactuSistemaFacturacion(ConsultaFactura );        // enviarlo !
    end;

  except
    on E: Exception do
    begin
      MensajeError(E.ClassName+' - '+ E.Message) ;
    end;
  end;


end;


Alguien lo hace de esta manera?. Lo hacéis a pelo?? Qué estoy haciendo mal??

Gracias!!!
Responder Con Cita
  #3  
Antiguo 04-06-2025
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 865
Poder: 3
bmfranky Va por buen camino
Cita:
Empezado por Sandy656 Ver Mensaje
Hola.
He seguido el ejemplo de la demo de verifactu que funciona de maravilla para el envío de facturas. Pero al intentar hacer lo mismo con la consulta de las facturas enviadas me da error "access violation".
Este es el código que tengo:
Código Delphi [-]
procedure TForm_ConsultaEnviadosAEAT.BotonBuscarClick(Sender: TObject);
var
  ConsultaFactura: ConsultaFactuSistemaFacturacion; // Objeto a enviar
  ACaducidadCertificado:TDate;
  DireccionEnvio:String;
  res : RespuestaConsultaFactuSistemaFacturacionType;  // Respuesta

begin
  ConsultaFactura := ConsultaFactuSistemaFacturacion.Create;
  ConsultaFactura.Cabecera := CabeceraConsultaSf.Create;
  ConsultaFactura.Cabecera.IDVersion:=VersionType._1_0;
  ConsultaFactura.Cabecera.ObligadoEmision := ObligadoEmisionConsultaType.Create;
  ConsultaFactura.Cabecera.ObligadoEmision.NombreRazon := Nombre.Text; // máximo 120 carácteres
  ConsultaFactura.Cabecera.ObligadoEmision.Nif := Nif.Text; // 9 carácteres

  ConsultaFactura.FiltroConsulta:= LRFiltroRegFacturacionType.Create;
  ConsultaFactura.FiltroConsulta.PeriodoImputacion:= PeriodoImputacionType .Create;
  ConsultaFactura.FiltroConsulta.PeriodoImputacion.Ejercicio:=IntToStr(YearOf(Desde.CurrentDate));

  ConsultaFactura.FiltroConsulta.PeriodoImputacion.Periodo:=veriFactuPeriodoType(MonthOf(Desde.Current  Date)); //devuelve el valor según el mes seleccionado

  ConsultaFactura.FiltroConsulta.FechaExpedicionFactura:= FechaExpedicionConsultaType.Create;
  ConsultaFactura.FiltroConsulta.FechaExpedicionFactura.RangoFechaExpedicion:= RangoFechaExpedicionType.Create;
  ConsultaFactura.FiltroConsulta.FechaExpedicionFactura.RangoFechaExpedicion.Desde:= FormatDateTime('dd-mm-yyy',Desde.CurrentDate);
  ConsultaFactura.FiltroConsulta.FechaExpedicionFactura.RangoFechaExpedicion.Hasta:= FormatDateTime('dd-mm-yyy',Hasta.CurrentDate);

    try                       //esto es erróneo 'https://prewww1.agenciatributaria.gob.es/wlpl/TIKE-CONT/SvTikeEmitidasQuery'
    DireccionEnvio:=  'https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP';  <<<-- Ha de usar la misma de los registros

    ACaducidadCertificado:=VerificarCaducidadCertificado(P_Datavarios.QSala.FieldByName('ultima_firma').  AsString);

    if (P_DataVarios.QSala.FieldByName('ultima_firma').AsString <> '') then //comprueba si tiene firma digital
    begin
      res:=  RespuestaConsultaFactuSistemaFacturacionType.Create;//  ConsultaFactuSistemaFacturacionType.Create;
   línea donde da el error -->   res:=   GetsfPortTypeVerifactu( false, DireccionEnvio , HTTPRIO1 ).ConsultaFactuSistemaFacturacion(ConsultaFactura );        // enviarlo !
    end;

  except
    on E: Exception do
    begin
      MensajeError(E.ClassName+' - '+ E.Message) ;
    end;
  end;


end;

Cita:

Alguien lo hace de esta manera?. Lo hacéis a pelo?? Qué estoy haciendo mal??

Gracias!!!
Hola, esta usando una dirección errónea para enviar la consulta, se usa la misma de los registros de facturación...
__________________
Uno se alegra de ser útil. (Isaac Asimov)

Última edición por bmfranky fecha: 04-06-2025 a las 12:06:23.
Responder Con Cita
  #4  
Antiguo 04-06-2025
Sandy656 Sandy656 is offline
Miembro
 
Registrado: jul 2006
Posts: 24
Poder: 0
Sandy656 Va por buen camino
Hola. Gracias por tu respuesta. He cambiado la url pero el error sigue. Se produce en la llamada a :
res:= GetsfPortTypeVerifactu( false, DireccionEnvio , HTTPRIO1 ).ConsultaFactuSistemaFacturacion(ConsultaFactura );
Responder Con Cita
  #5  
Antiguo 05-06-2025
Sandy656 Sandy656 is offline
Miembro
 
Registrado: jul 2006
Posts: 24
Poder: 0
Sandy656 Va por buen camino
Hola.
Nada. Estoy intentando enviarlo pero me es imposible. Ya no se como hacerlo . ¿Podrías poner un ejemplo de como hacéis el envío?. El XML ya lo tengo formado pero no se como enviarlo para que no me de error.

Gracias!!!
Responder Con Cita
  #6  
Antiguo 20-06-2025
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.238
Poder: 25
keys Va por buen camino
Hola a todos.

Tengo el siguiente problema, que imagino que a todos os pasa. Tengo una factura rectificativa de Junio que rectifica una factura de Mayo, por lo que en fecha de expedición tengo junio y en fecha de operación tengo Mayo.

Verifactu cataloga esta factura que pertenece a mayo (Periodo 05), pero la fecha de expedición es de Junio. Cuando haces la consulta para poder ver esta factura tienes que poner en periodo de imputación 05 (mayo) y dejar la fecha desde y hasta en blanco, o poner la fecha de expedición de la factura en el rango.

Todo esto por que sé de que factura se trata. Pero si no lo se, ¿como puedo localizar esa factura en verifactu?, me tendría que recorrer todos los periodos anteriores, ya que una rectificativa puede rectificar una factura de cualquier mes anterior.

Un lío no se si hay otra forma de de hacerlo para localizar una factura rectificativa
Responder Con Cita
  #7  
Antiguo 20-06-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.766
Poder: 8
ermendalenda Va por buen camino
Cita:
Empezado por keys Ver Mensaje
Hola a todos.

Tengo el siguiente problema, que imagino que a todos os pasa. Tengo una factura rectificativa de Junio que rectifica una factura de Mayo, por lo que en fecha de expedición tengo junio y en fecha de operación tengo Mayo.

Verifactu cataloga esta factura que pertenece a mayo (Periodo 05), pero la fecha de expedición es de Junio. Cuando haces la consulta para poder ver esta factura tienes que poner en periodo de imputación 05 (mayo) y dejar la fecha desde y hasta en blanco, o poner la fecha de expedición de la factura en el rango.

Todo esto por que sé de que factura se trata. Pero si no lo se, ¿como puedo localizar esa factura en verifactu?, me tendría que recorrer todos los periodos anteriores, ya que una rectificativa puede rectificar una factura de cualquier mes anterior.

Un lío no se si hay otra forma de de hacerlo para localizar una factura rectificativa
Interesante cuestión, yo siempre he pensado que en las rectificativas la fecha de emisión es la que indica el periodo de imputación, otra cosa seria para las facturas recapitulativas y las sustittuivas. Pero sigo el hilo por si estoy equivocadom

Última edición por ermendalenda fecha: 20-06-2025 a las 14:30:07.
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
Entorno pruebas AEAT _Io Envío de registros y sus respuestas 8 02-04-2025 14:56:55
Homologación del software en Aeat ermendalenda General/Noticias 39 08-01-2025 11:24:27
Error 403 de la AEAT mqm Envío de registros y sus respuestas 22 29-11-2024 10:52:51
Calculo Retenciones AEAT keys Internet 2 14-05-2024 08:21:13
SII AEAT España jahlxx Internet 1 09-03-2017 17:40:36


La franja horaria es GMT +2. Ahora son las 13:09:15.


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