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 04-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.766
Poder: 8
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
  #2  
Antiguo 04-11-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.503
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 18:20:01.
Responder Con Cita
  #3  
Antiguo 04-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.766
Poder: 8
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
  #4  
Antiguo 04-11-2024
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 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
  #5  
Antiguo 04-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.766
Poder: 8
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
  #6  
Antiguo 04-11-2024
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 ermendalenda Ver Mensaje
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
Hombre, no puede ser que la hora actual sea ni un segundo "Anterior" a la del registro ya enviado, posteior , o descuadrada del servidor de la aeat, podria ser, por eso , cuando implementen las funciones de consulta de registros anteriores, como en la respuesta se incluira el timestamp de hacienda, ahi si que verificare que la hora del sistema no se descuadre mucho de la de hacienda, por ejemplo consultando el ultimo registro enviado antes de empezar a facturar, o al cargar el SIF.
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #7  
Antiguo 04-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.766
Poder: 8
ermendalenda Va por buen camino
Cita:
Empezado por bmfranky Ver Mensaje
Hombre, no puede ser que la hora actual sea ni un segundo "Anterior" a la del registro ya enviado, posteior , o descuadrada del servidor de la aeat, podria ser, por eso , cuando implementen las funciones de consulta de registros anteriores, como en la respuesta se incluira el timestamp de hacienda, ahi si que verificare que la hora del sistema no se descuadre mucho de la de hacienda, por ejemplo consultando el ultimo registro enviado antes de empezar a facturar, o al cargar el SIF.
Sí, es mejor no dejar hacer ningún registro, es cierto que si pasara lo de la sincronizacion, y si fuera por unos segundos, en cuanto vuelva a intentarlo ya le dejaría. A mi me puede pasar por que yo sincronizo desee el programa y solo lo reguló si hay una diferencia de 20 segundos. Pero si hago como dices, al momento me va a dejar de nuevo cerrar facturas
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 21:41:49
Agrupar por fecha, teniendo en el campo fecha y hora El_Raso Firebird e Interbase 3 18-03-2010 23:05:19
obtener solo la fecha en formato fecha y sin hora BlueSteel SQL 14 09-05-2008 17:42:19
formato fecha y hora a solo Fecha ozegarra Firebird e Interbase 6 22-02-2008 19:43:34
Extraccion fecha de un campo fecha y hora matti Firebird e Interbase 3 26-04-2007 20:48:11


La franja horaria es GMT +2. Ahora son las 07:06:08.


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