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 02-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
Controles fecha/hora

Supongo que alguno ya lo habéis pensado.
Voy a meter un control de tiempo de que el registro que se genera no puede ser en fechs hora anterior al anterior. Y por si acaso no hay registros que sea superior a hoy 2/11/2024 o o lo metáis en algún parámetro del sistema. Esto mete una capa más de seguridad en los programas de escritorio en los que existen, remotas pero posibles, situaciones en los que puede pasar:
1. Que a raiz de un corte de luz, el equipo tenga gastada la pila y vuelva a una fecha anterior y no haya conexión a Internet, con lo cual no puede sincronizar con ningún reloj.
2. Que al primo del dueño del restaurante, Ramiro, le pregunten como hacer una factura con fecha anterior y como se está sacando un módulo de ofimática online en CCC es un genio. Entonces el tío vá y le quita Internet al equipo y le cambia la fecha al ordenador emite la factura, con su QR chulo y se pega el moco y ahora llama al servicio técnico para que haga una subsanacion de esto, a ver como te lo comes.
Lo primero es guardar una log de este cambio de fecha, y después bloquear emisiones de facturas.

Última edición por ermendalenda fecha: 02-11-2024 a las 20:11:55.
Responder Con Cita
  #2  
Antiguo 03-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
Ojofaq Aeat/veri*factu

No sé si es aconsejable marcar como incidencia los cambios de fecha de envío ejemplo se genera el registro a las 23:59
Se envía a las 00:00
Esto no queda claro con lo que dicen.

Cita:
La fecha de expedición de la factura debe coincidir con la de generación del registro de facturación. Ambas fechas, generalmente deben corresponderse con la fecha en que se remite el Registro de facturación. No obstante, se pueden dar situaciones puntuales de no coincidencia, de la fecha de generación del registro con la de envío (por ejemplo, incidencia al remitir que obliga a reintentar más adelante, cambio de horario de verano/invierno...).

Un mayor detalle puede encontrarse en las reglas de validación que afecten a los campos del registro de facturación y del mensaje de remisión a la AEAT .
Responder Con Cita
  #3  
Antiguo 04-11-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por ermendalenda Ver Mensaje
Supongo que alguno ya lo habéis pensado.
Voy a meter un control de tiempo de que el registro que se genera no puede ser en fechs hora anterior al anterior. Y por si acaso no hay registros que sea superior a hoy 2/11/2024 o o lo metáis en algún parámetro del sistema.

Nosotros sí tenemos un control similar de control de fechas. Para que no puedan meter una factura con fecha anterior a la última introducida (a nuestros clientes se les ocurren cosas muy raras). Cambios de fecha del equipo, por ejemplo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 04-11-2024
AlfredoSanz AlfredoSanz is offline
Miembro
 
Registrado: feb 2024
Posts: 14
Poder: 0
AlfredoSanz Va por buen camino
Holaqtal.

Yo me inclino por verificar la fecha del sistema mediante un webservice antes de hacer el envío, de esta forma nos aseguramos de que "mi vecino Jose" no ha tocado nada.

He estado probando worldtimeapi.org, pero muchas veces no me responde.

¿Alguien sabe de algún servicio similar?
Responder Con Cita
  #5  
Antiguo 04-11-2024
novatico novatico is offline
Miembro
 
Registrado: dic 2022
Posts: 370
Poder: 4
novatico Va por buen camino
Cita:
Empezado por AlfredoSanz Ver Mensaje
Holaqtal.

Yo me inclino por verificar la fecha del sistema mediante un webservice antes de hacer el envío, de esta forma nos aseguramos de que "mi vecino Jose" no ha tocado nada.

He estado probando worldtimeapi.org, pero muchas veces no me responde.

¿Alguien sabe de algún servicio similar?

Prueba http://date.jsontest.com, es más sencillo pero puede servir.
El servicio de worldtimeapi.org empezó a tener fallos/esperas aleatorias desde que, creo que en Septiembre, se produjo aquella caída masiva de Microsoft. Desde entonces, algunos días funciona perfectamente, y otros se producen esperas muy largas. En mi caso, esto lo he detectado principalmente por las tardes.
Responder Con Cita
  #6  
Antiguo 04-11-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 332
Poder: 6
edari Va por buen camino
Cita:
Empezado por novatico Ver Mensaje
Prueba http://date.jsontest.com, es más sencillo pero puede servir.
El servicio de worldtimeapi.org empezó a tener fallos/esperas aleatorias desde que, creo que en Septiembre, se produjo aquella caída masiva de Microsoft. Desde entonces, algunos días funciona perfectamente, y otros se producen esperas muy largas. En mi caso, esto lo he detectado principalmente por las tardes.
A mí me funciona a veces mal worldtimeapi... habrá que empezar a descartarlo
Pruebo este a ver pero me da hora inglesa...habrá que pasar algún parámetro?
Conocéis algún otro que informe también de la zona horaria?

Gracias

Última edición por Neftali [Germán.Estévez] fecha: 05-11-2024 a las 08:59:21.
Responder Con Cita
  #7  
Antiguo 05-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por novatico Ver Mensaje
Prueba http://date.jsontest.com, es más sencillo pero puede servir.
El servicio de worldtimeapi.org empezó a tener fallos/esperas aleatorias desde que, creo que en Septiembre, se produjo aquella caída masiva de Microsoft. Desde entonces, algunos días funciona perfectamente, y otros se producen esperas muy largas. En mi caso, esto lo he detectado principalmente por las tardes.
Hola
Estoy probando el servicio. Sabía si siempre devuelve 1 hora menos, o cambia en verano?
Gracias
Responder Con Cita
  #8  
Antiguo 05-11-2024
rci rci is offline
Miembro
 
Registrado: nov 2020
Posts: 565
Poder: 6
rci Va por buen camino
Yo trabajo en c#.net y utilizo servidores ntp (Network Time Protocol) para consultar la hora en internet, ahora mismo uso time.windows.com pero creo que hay muchos mas servidores de este tipo.
Devuelve la fecha y hora UTC y luego la convierto en la hora local
No se si serviría para delphi
Responder Con Cita
  #9  
Antiguo 09-01-2025
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 332
Poder: 6
edari Va por buen camino
Cita:
Empezado por novatico Ver Mensaje
Prueba http://date.jsontest.com, es más sencillo pero puede servir.
El servicio de worldtimeapi.org empezó a tener fallos/esperas aleatorias desde que, creo que en Septiembre, se produjo aquella caída masiva de Microsoft. Desde entonces, algunos días funciona perfectamente, y otros se producen esperas muy largas. En mi caso, esto lo he detectado principalmente por las tardes.

Os dejó de funcionar?


Porque yo he estado unas semanas con otros proyectos y ahora al volver a Verifactu veo que me da error la consulta a esta web...
Responder Con Cita
  #10  
Antiguo 04-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por AlfredoSanz Ver Mensaje
Holaqtal.

Yo me inclino por verificar la fecha del sistema mediante un webservice antes de hacer el envío, de esta forma nos aseguramos de que "mi vecino Jose" no ha tocado nada.

He estado probando worldtimeapi.org, pero muchas veces no me responde.

¿Alguien sabe de algún servicio similar?
Sí, está fallando, pero le he metido hasta 10 reintentos y funciona.
De todas formas le dalta una capa más de seguridad, que es a lo que me refiero, y es si le quitan el cable de Red para que no lea la fecha/hora de Internet, supongo que tu aplicación si es de escritorio seguirá funcionando.para ese caso proponía qu se compararse la fecha/hora del registro anterior que no sea mayor que la actual del sistema.
Responder Con Cita
  #11  
Antiguo 04-11-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Nosotros para temas "serios" pedimos la Fecha/hora al servidor de Base de Datos (en nuestro caso un SQLServer).
Ese servidor no suelen administrarlo los clientes y no pueden "tocarlo" y a los que lo administran ellos no se atreven, porque si cambiasen eso dejaría de funcionar TODA la aplicación.

Para otros temas sin importancia sí que cogemos la del equipo cliente (como os he dicho), pero sabemos que alguno ya ha probado a cambiarla.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 04-11-2024 a las 17:20:01.
Responder Con Cita
  #12  
Antiguo 04-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
Gracias, también había pensado hacer una segunda consulta a un servidor propio y así contrasto que si la fecha/hora del sistema es una de las 2, la del servidor público de hora o la del nuestro, la dé por válida. Ya que puede ocurrir que alguno falle y el desastre es monumental, pero así meto triple seguridad.
Responder Con Cita
  #13  
Antiguo 04-11-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 863
Poder: 3
bmfranky Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Sí, está fallando, pero le he metido hasta 10 reintentos y funciona.
De todas formas le dalta una capa más de seguridad, que es a lo que me refiero, y es si le quitan el cable de Red para que no lea la fecha/hora de Internet, supongo que tu aplicación si es de escritorio seguirá funcionando.para ese caso proponía qu se compararse la fecha/hora del registro anterior que no sea mayor que la actual del sistema.
Si, algo asi he implementado yo, cuando cargo los datos de la huella del ultimo registro enviado, compruebo que la fecha hora de uso no sea posterior a la del sistema, si es asi, cancelo la exportacion de la factura, antes de realizar envios ni asientos de la factura.
Código:
if (DateTime.Parse(huellaAnterior.FechaHoraUso) > DateTime.Now)// si la fecha de uso es posterior a la del sistema...
                {
                    MessageBox.Show("La fecha del sistema es anterior a la del ultimo registro enviado, se cancelara el envio hasta que se subsane la incidencia.", "Atencion.");
                    return;//<-cancelamos la funcion.
                }
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #14  
Antiguo 04-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por bmfranky Ver Mensaje
Si, algo asi he implementado yo, cuando cargo los datos de la huella del ultimo registro enviado, compruebo que la fecha hora de uso no sea posterior a la del sistema, si es asi, cancelo la exportacion de la factura, antes de realizar envios ni asientos de la factura.
Código:
if (DateTime.Parse(huellaAnterior.FechaHoraUso) > DateTime.Now)// si la fecha de uso es posterior a la del sistema...
                {
                    MessageBox.Show("La fecha del sistema es anterior a la del ultimo registro enviado, se cancelara el envio hasta que se subsane la incidencia.", "Atencion.");
                    return;//<-cancelamos la funcion.
                }
Así es pero yo le dejaría unos segundos de margen para emitir una factura unos segundos antes (20 o 30 segundos) por lo que. Pueda pasar con la sincronizacion de la hora
Responder Con Cita
  #15  
Antiguo 05-11-2024
adolphsys adolphsys is offline
Miembro
 
Registrado: abr 2006
Posts: 76
Poder: 21
adolphsys Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Nosotros sí tenemos un control similar de control de fechas. Para que no puedan meter una factura con fecha anterior a la última introducida (a nuestros clientes se les ocurren cosas muy raras). Cambios de fecha del equipo, por ejemplo.
Pues, al menos con los servidores de prueba Verifactu, están admitiendo remitir una factura con fecha anterior a la última...
Responder Con Cita
  #16  
Antiguo 06-11-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 332
Poder: 6
edari Va por buen camino
Cita:
Empezado por adolphsys Ver Mensaje
Pues, al menos con los servidores de prueba Verifactu, están admitiendo remitir una factura con fecha anterior a la última...

Y también están admitiendo dos envíos diferentes en menos de un minuto...quería yo comprobar el error antes de programar el "delay" para el siguiente envío y nanai...lo traga como un campeón


En cualquier caso me pongo a ello
Responder Con Cita
  #17  
Antiguo 06-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por edari Ver Mensaje
Y también están admitiendo dos envíos diferentes en menos de un minuto...quería yo comprobar el error antes de programar el "delay" para el siguiente envío y nanai...lo traga como un campeón


En cualquier caso me pongo a ello
Bueno si, pero cuando repites mucho te meten un delay en la respuesta y se queda colgafa la respuesta el tiempo que le tengas puesto de espera
Responder Con Cita
  #18  
Antiguo 06-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
He añadido un nuevo control de fecha (Activable/Desactivable), ultimo registro después del anterior no puede pasar mas de 300 días, si se considera que es correcta esa inactividad del SIF pueden desactivar el control y posteriormente volverlo a activar.


Que obsesión, esto me va a matar!!!
Responder Con Cita
  #19  
Antiguo 05-11-2024
adolphsys adolphsys is offline
Miembro
 
Registrado: abr 2006
Posts: 76
Poder: 21
adolphsys Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Nosotros sí tenemos un control similar de control de fechas. Para que no puedan meter una factura con fecha anterior a la última introducida (a nuestros clientes se les ocurren cosas muy raras). Cambios de fecha del equipo, por ejemplo.
Pues, al menos con los servidores de prueba Verifactu, están admitiendo remitir una factura con fecha anterior a la última...
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
Como le resto una hora a la fecha y hora en sql server uper MS SQL Server 3 12-10-2015 20:41:49
Agrupar por fecha, teniendo en el campo fecha y hora El_Raso Firebird e Interbase 3 18-03-2010 22:05:19
obtener solo la fecha en formato fecha y sin hora BlueSteel SQL 14 09-05-2008 16:42:19
formato fecha y hora a solo Fecha ozegarra Firebird e Interbase 6 22-02-2008 18:43:34
Extraccion fecha de un campo fecha y hora matti Firebird e Interbase 3 26-04-2007 19:48:11


La franja horaria es GMT +2. Ahora son las 12:14: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