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 10-02-2025
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 881
Poder: 3
bmfranky Va camino a la fama
Cita:
Empezado por Jarogo08 Ver Mensaje
Buenas a todos

¿y puedo hacer una consulta por fechas de periodos o incluso ejercicios distintos? Porque me exige poner el ejercicio y periodo.
Por ejemplo, del "15/12/2024" al "15/01/2025".

Saludos!
Hola, no, por la forma de la consulta que han ideado, has de indicar el periodo exacto tu, si necesitas varios periodos, has de montar tu lo que necesitas a partir del resultado de varias consultas, tantas como periodos distintos necesites, mientras no cambien , la forma de realizar la consulta, es la unica solucion.

En tu ejemplo deverias realizar una contulta por fechas del 15/12/2024 al 31/12/2024 y otra del 1 al 15 de enero y juntarlas en el informe que presentes.
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #2  
Antiguo 10-02-2025
Jarogo08 Jarogo08 is offline
Miembro
 
Registrado: ene 2025
Posts: 345
Poder: 2
Jarogo08 Va por buen camino
Cita:
Empezado por bmfranky Ver Mensaje
Hola, no, por la forma de la consulta que han ideado, has de indicar el periodo exacto tu, si necesitas varios periodos, has de montar tu lo que necesitas a partir del resultado de varias consultas, tantas como periodos distintos necesites, mientras no cambien , la forma de realizar la consulta, es la unica solucion.

En tu ejemplo deverias realizar una contulta por fechas del 15/12/2024 al 31/12/2024 y otra del 1 al 15 de enero y juntarlas en el informe que presentes.

Muchas gracias por la respuesta bmfranky


Pues vaya caca de sistema que han ideado, han quedado a gusto! en fin, habrá que plantearlo como dices y hacer varias consultas y juntar los resultados
Responder Con Cita
  #3  
Antiguo 10-02-2025
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 881
Poder: 3
bmfranky Va camino a la fama
Cita:
Empezado por Jarogo08 Ver Mensaje
Muchas gracias por la respuesta bmfranky


Pues vaya caca de sistema que han ideado, han quedado a gusto! en fin, habrá que plantearlo como dices y hacer varias consultas y juntar los resultados
Hola, es que segun contestaron esto solo se ha de usar en momento puntuales, no como sistema de consulta, quieren que se use por ejemplo si cayo tu systema, ver que has de restaurar y si te falta algo o no.
*Elmendalenda hizo la consulta en su dia...
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #4  
Antiguo 10-02-2025
Jarogo08 Jarogo08 is offline
Miembro
 
Registrado: ene 2025
Posts: 345
Poder: 2
Jarogo08 Va por buen camino
Buenas de nuevo. Sólo confirmar que tiene que ser como indica bmfranky, periodo a periodo. Esta es la respuesta de la AEAT:

Cita:
Tal y como comenta, la consulta debe ser entre un rango de fechas del periodo seleccionado. Las consultas de registros de facturación informados se realizan por ejercicio/periodo “de imputación”, dato obtenido a partir de la fecha de operación o en su defecto de la fecha de expedición. Las consultas responderán con un máximo de 10.000 registros. Si hay más datos pendientes en la respuesta, habrá que invocar al servicio de forma paginada (Ver apartado 6.4.3 Consulta paginada del documento de descripción del servicio web) realizando nuevas consultas con la identificación del último registro obtenido, para obtener los siguientes registros ordenados por fecha de presentación.
Responder Con Cita
  #5  
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
  #6  
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
  #7  
Antiguo 04-06-2025
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 881
Poder: 3
bmfranky Va camino a la fama
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 13:06:23.
Responder Con Cita
  #8  
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
  #9  
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
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 15:56:55
Homologación del software en Aeat ermendalenda General/Noticias 39 08-01-2025 12:24:27
Error 403 de la AEAT mqm Envío de registros y sus respuestas 22 29-11-2024 11:52:51
Calculo Retenciones AEAT keys Internet 2 14-05-2024 09:21:13
SII AEAT España jahlxx Internet 1 09-03-2017 18:40:36


La franja horaria es GMT +2. Ahora son las 13:55:19.


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