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

Tema Cerrado
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-03-2025
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 488
Poder: 10
seccion_31 Va por buen camino
verificar que la AEAT esta ahi.

He usado el codigo de ramherfer con algun cambio para que me funcionara, y hoy da como activa la web de la aeat cuando tiene un error, el tipico del fin de semana:

Cita:
Descripción: UNSUCCESSFUL EXECUTION CAUSED BY AN UNAVAILABLE RESOURCE. REASON 00C90081, TYPE OF RESOURCE 00000210, AND RESOURCE NAME DBTCCSOR.TSTCCSOR.00000001. SQLCODE=-904, SQLSTATE=57011, DRIVER=4.33.43
La pagina existe, y por tanto aparece como activa, pero con error. Entrar en analizar su contenido me parece un poco exagerado. Es mi opinión. Ademas de necesitar las dlls adiciones para que funcione el ssl.

Por lo que creo que es mejor incorporar una consulta, la mas simple, de un día determinado, por ejemplo del día siguiente. (no se si dejara).

Otro tema es la frecuencia de revision planteada.

Saludos !

Nota: ya esta incpororada la funcion, para ello consulta una factura, llamada PING en el periodo y fecha actuales con el certificado de la sesion. Es inmediato y seguro.

Última edición por seccion_31 fecha: 22-03-2025 a las 18:16:00.
  #2  
Antiguo 22-03-2025
mqm mqm is offline
Miembro
 
Registrado: nov 2006
Posts: 63
Poder: 20
mqm Va por buen camino
Buenas session_31.
Yo lo que hago en tu componente es lo que dices, una consulta inexstente y listo.

Código Delphi [-]
procedure TForm1.VerificaConexíonClick(Sender: TObject);
var
   ejercicio, periodo, numero: string;
   desde, hasta: TDatetime;
   resultado: TConsultaResultado;
begin
   // Datos esenciales de inicio de sesion para consulta
   VeriFactuD7.Certificado               := comboCertificados.text;
   VerifactuD7.Emisor.NombreRazonEmisor  := editEmisor.Text;
   VerifactuD7.Emisor.nifEmisor          := editNIFEmisor.Text;
   VerifactuD7.Simular                   := false;
   VerifactuD7.urlEndPoint               := editURL.text;

   // si se filtra por sistema informatico colocar los datos
   if filtroSIF.checked then
   begin
       VerifactuD7.SistemaInformatico.razonSocial       := editRazonSocial.Text;
       VerifactuD7.SistemaInformatico.nif               := editNIF.Text;
       VerifactuD7.SistemaInformatico.nombre            := editNombre.Text;
       VerifactuD7.SistemaInformatico.ID                := editID.Text;
       VerifactuD7.SistemaInformatico.Version           := editVersion.Text;
       VerifactuD7.SistemaInformatico.NumeroInstalacion := editInstalacion.Text;
   end;

   // Archivo XML vacío que se guardará como referencia de la consulta
   VeriFactuD7.filenameXML_Envio       := xmlEnvioConsulta;
   VeriFactuD7.filenameXML_Respuesta   := xmlRespuestaConsulta; 

   // Iniciar Sesión
   if not VeriFactuD7.inicio then
   begin
       ShowMessage('Error Iniciando Sesion');
       Exit;
   end;

     // Asignar parámetros mínimos válidos
     ejercicio := IntToStr(YearOf(Now));   // Año actual
     periodo := FormatDateTime('mm', Now); // Mes actual
     numero := '';                         // Consulta sin número específico
     desde := Now;                         // Fecha actual como ejemplo
     hasta := Now;                         // Mismo día para una consulta mínima válida

   // Intentar la consulta vacía
   if VeriFactuD7.consulta(ejercicio, periodo, numero, desde, hasta, filtroSIF.Checked, resultado) then
   begin
       ShowMessage('Conexión exitosa con el servidor.');
   end
   else
   begin
       ShowMessage('Error en la conexión: ' + resultado.errorDes);
   end;

   // Terminar sesión
   VeriFactuD7.final('');
end;
  #3  
Antiguo 22-03-2025
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 488
Poder: 10
seccion_31 Va por buen camino
si, creo que la consulta inexistente es lo mejor.

ahora se reducira a:

Código:
            VeriFactuD7.Certificado              :=comboCertificados.text;
            VerifactuD7.Emisor.NombreRazonEmisor :=editEmisor.Text;
            VerifactuD7.Emisor.nifEmisor         :=editNIFEmisor.Text;
            VerifactuD7.urlEndPoint              :=editURL.text;   // endpoint de la AEAT

            if veriFactuD7.VerifactuActivo then
                statusBar1.panels[1].Text:='AEAT Activa'
            else
                statusBar1.panels[1].Text:='AEAT Inactiva';

y si tienes el certificado ya cargado mucho menos codigo. Sin iniciar sesion.

Ya esta incluido el ejemplo en la Demo

Y la publicare la semana del 31 ; ) como version 2.1 con los cambios que vayan apareciendo.

Saludos !

: )

y buenas tardes

Última edición por seccion_31 fecha: 22-03-2025 a las 18:47:04.
  #4  
Antiguo 25-03-2025
mqm mqm is offline
Miembro
 
Registrado: nov 2006
Posts: 63
Poder: 20
mqm Va por buen camino
en el proceso siguiente:

Código Delphi [-]
procedure TForm1.procesarEnvio(resultado:TResultadoEnvio);
var
  desError,error,estado,factura, emisor, huella:string;

  aFactura:TRegistroFactura;

  j:integer;
begin
      memoXML.Lines.LoadFromFile(xmlEnvio);
      memoXML.Text:=FormatXMLData(memoXML.Text);

      memoRes.lines.clear;
      memoRes.lines.Add('Se ha realizado el envío');
      memoRes.Lines.Add('');
      memoRes.Lines.Add('Estado Del Envio:'+resultado.EstadoEnvio );
      memoRes.lines.Add('CSV: ' + resultado.CSV);
      memoRes.lines.Add('TimeStamp: ' + resultado.Fecha+' '+resultado.Hora);
      memoRes.Lines.Add('');

Creo que resultado.Fecha+' '+resultado.Hora estan cambiados. ya que devuelve 11:59:10 25/03/2025
  #5  
Antiguo 25-03-2025
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 488
Poder: 10
seccion_31 Va por buen camino
Ya esta corregido !

gracias por el aviso.

Por cierto starlet ¿has podido probar la demo?


slds !

Cita:
Empezado por mqm Ver Mensaje
en el proceso siguiente:

Código Delphi [-]
procedure TForm1.procesarEnvio(resultado:TResultadoEnvio);
var
  desError,error,estado,factura, emisor, huella:string;

  aFactura:TRegistroFactura;

  j:integer;
begin
      memoXML.Lines.LoadFromFile(xmlEnvio);
      memoXML.Text:=FormatXMLData(memoXML.Text);

      memoRes.lines.clear;
      memoRes.lines.Add('Se ha realizado el envío');
      memoRes.Lines.Add('');
      memoRes.Lines.Add('Estado Del Envio:'+resultado.EstadoEnvio );
      memoRes.lines.Add('CSV: ' + resultado.CSV);
      memoRes.lines.Add('TimeStamp: ' + resultado.Fecha+' '+resultado.Hora);
      memoRes.Lines.Add('');

Creo que resultado.Fecha+' '+resultado.Hora estan cambiados. ya que devuelve 11:59:10 25/03/2025
  #6  
Antiguo 26-03-2025
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 488
Poder: 10
seccion_31 Va por buen camino
parece que han cambiado esto en la normativa: desde el 18 de marzo:

Cita:
15.6.9 ClaveRegimen 18. Recargo de equivalencia
- Sólo se puede cumplimentar TipoRecargoEquivalencia y CuotaRecargoEquivalencia
cuando CalificacionOperacion es “S1”.
- Si CalificacionOperacion es “S1”:
 Si Impuesto = “01” (IVA) o no se cumplimenta (considerándose “01” – IVA), sólo
se podrá cumplimentar TipoRecargoEquivalencia y CuotaRecargoEquivalencia si
ClaveRegimen igual a “18”.
 Si Impuesto = “01” (IVA) o no se cumplimenta (considerándose “01” – IVA) y
ClaveRegimen igual a “18”, es oblig
Cita:
1.0.3 18/03/2025 Se incluye nuevo “Aceptado con errores” al hacer
un mal uso del primer registro.
Se incluye nueva validación para la clave de
régimen 18 (Recargo de equivalencia)
Se elimina validación de NIFs iguales entre emisor
y destinatario (Facturas de autoconsumo)
Fuente: https://www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Validaciones_Errores_Veri-Factu.pdf


Asi que he probado a intentar subir una factura usando la demoD7 con REQ y me la ha rechazado:

Incorrecto 1279 Si el impuesto es IVA(01) o vacio, solo se podrá informar TIPORECARGOEQUIVALENCIA y CUOTARECARGOEQUIVALENCIA si la clave de régimen es 18.

Este sera otro cambio que llevara la version 2.1

Si alguien quiere comentarlo....

Saludos !
  #7  
Antiguo 26-03-2025
delphiGar delphiGar is offline
Miembro
 
Registrado: ago 2024
Posts: 182
Poder: 3
delphiGar Va por buen camino
Cita:
Empezado por seccion_31 Ver Mensaje
parece que han cambiado esto en la normativa: desde el 18 de marzo:





Fuente: https://www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Validaciones_Errores_Veri-Factu.pdf


Asi que he probado a intentar subir una factura usando la demoD7 con REQ y me la ha rechazado:

Incorrecto 1279 Si el impuesto es IVA(01) o vacio, solo se podrá informar TIPORECARGOEQUIVALENCIA y CUOTARECARGOEQUIVALENCIA si la clave de régimen es 18.

Este sera otro cambio que llevara la version 2.1

Si alguien quiere comentarlo....

Saludos !
Esto lo estamos comentado en dos hilos distinto, pero te resumo:

Si la factura lleva Recago de Equivalencia la ClaveRegimen tiene que ser 18, y aclaro, si la emite es por que puede hacerlo con recargo. Si esta en Recargo de Equivalencia el OT no puede emitir facturas con RE, por lo tanto sera la clave 01 u otra.
  #8  
Antiguo 26-03-2025
starlet starlet is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 31
Poder: 0
starlet Va por buen camino
Cita:
Empezado por seccion_31 Ver Mensaje
Ya esta corregido !

gracias por el aviso.

Por cierto starlet ¿has podido probar la demo?


slds !
No, y no tengo ni idea que puede ser. Tengo claro que es algo de mi equipo, pero ni idea.

He puesto el form en visible, he instalado Capicom (ambas cosas las hice al principio).

Es un poco más complejo ver la operativa sin poder debuguear la demo, pero poco a poco me voy enterando.

Muchas gracias.
  #9  
Antiguo 26-03-2025
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 488
Poder: 10
seccion_31 Va por buen camino
Cita:
Empezado por starlet Ver Mensaje
No, y no tengo ni idea que puede ser. Tengo claro que es algo de mi equipo, pero ni idea.

He puesto el form en visible, he instalado Capicom (ambas cosas las hice al principio).

Es un poco más complejo ver la operativa sin poder debuguear la demo, pero poco a poco me voy enterando.

Muchas gracias.
Asegurate que tengas la version 2

El codigo fuente de la demo (carpeta DEMO_D7 ) y la DLL esta ahi puedes ir viendo que hace.

Abres el prouecto de la Demo, y tienes dos eventos, oncreate y el onshow, empieza por seguir el codigo.

Saludos !
Tema Cerrado


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
Verifactu o por requerimiento (no-verifactu) ¿decisión del usuario? Maska10 Temas legales 2 07-12-2024 13:34:47
Demo de una applicación para una estación de enfermera con RAD Studio AgustinOrtu La Taberna 1 21-07-2015 18:41:35
Demo Delphi, EMail Caral Internet 1 19-12-2006 01:37:56
Demo de delphi 2005 mazinger Varios 2 18-12-2004 10:23:09
El Rave que viene con Delphi es una Demo? apicito Impresión 0 04-06-2003 12:33:36


La franja horaria es GMT +2. Ahora son las 10:17:50.


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