Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Envío de registros y sus respuestas (https://www.clubdelphi.com/foros/forumdisplay.php?f=66)
-   -   Problema con las fechas desde el cambio a horario de verano (https://www.clubdelphi.com/foros/showthread.php?t=97383)

Maska10 04-04-2025 11:12:48

Problema con las fechas desde el cambio a horario de verano
 
Pues eso, desde que ha cambiado el horario de verano, todos mis envios están aceptados con errores:

AceptadoConErrores: El valor del campo FechaHoraHusoGenRegistro debe ser la fecha actual del sistema de la AEAT, admitiéndose un margen de error de: 240 segundos.

Cabe destacar que yo sigo enviando con GTM+1 ... ¿como estáis enviando?

rci 04-04-2025 11:25:24

Cita:

Empezado por Maska10 (Mensaje 563420)
Pues eso, desde que ha cambiado el horario de verano, todos mis envios están aceptados con errores:

AceptadoConErrores: El valor del campo FechaHoraHusoGenRegistro debe ser la fecha actual del sistema de la AEAT, admitiéndose un margen de error de: 240 segundos.

Cabe destacar que yo sigo enviando con GTM+1 ... ¿como estáis enviando?

Desde la península:
Código:

<sum1:FechaHoraHusoGenRegistro>2025-04-04T09:20:22+02:00</sum1:FechaHoraHusoGenRegistro>

Faneka 04-04-2025 11:28:06

+2 es ahora, yo tengo una función que me devuelve si es +1 invierno o +2 verano

Maska10 04-04-2025 11:28:07

Gracias compañero, entonces tengo un problema en la función delphi que me calcula el GTM, me sigue dando +01:00.

Código:

  GetTimeZoneInformation(Info);
  Bias:= abs(Info.Bias) / 1440;
  if Info.Bias <= 0 then
    Str:='GTM+' + TimeToStr(Bias)
  else
    Str:='GTM-' + TimeToStr(Bias);
  //showmessage(str);
  if Str = 'GTM+0:00:00' then
  Str:= '+00:00';
  if Str = 'GTM+1:00:00' then
  Str:= '+01:00';
  if Str = 'GTM+2:00:00' then
  Str:= '+02:00';


espinete 04-04-2025 12:16:52

Me preocupa que a mí nunca me haya dado este error. Yo estando en Canarias he enviado ya cientos de facturas y nunca me han devuelto ese error, así que me da que voy a tener que cambiar el huso horario de mi PC para hacer pruebas simulando estar en la Península, que es donde tenemos el 80% de los clientes.

Maska10 04-04-2025 12:27:20

Cita:

Empezado por espinete (Mensaje 563425)
Me preocupa que a mí nunca me haya dado este error. Yo estando en Canarias he enviado ya cientos de facturas y nunca me han devuelto ese error, así que me da que voy a tener que cambiar el huso horario de mi PC para hacer pruebas simulando estar en la Península, que es donde tenemos el 80% de los clientes.

Leñe, pues seguramente es que la funcion que tengas te está funcionando bien ... ¿no?

rci 04-04-2025 12:49:37

Cita:

Empezado por espinete (Mensaje 563425)
Me preocupa que a mí nunca me haya dado este error. Yo estando en Canarias he enviado ya cientos de facturas y nunca me han devuelto ese error, así que me da que voy a tener que cambiar el huso horario de mi PC para hacer pruebas simulando estar en la Península, que es donde tenemos el 80% de los clientes.

Cita:

Empezado por Maska10 (Mensaje 563426)
Leñe, pues seguramente es que la funcion que tengas te está funcionando bien ... ¿no?

O a lo mejor siempre envías como incidencia? :)

Para hacer la prueba, creas el registro de facturación (se crea con la fecha y hora del momento) sin marcar incidencia, espera 3 minutos y luego envías el registro de facturación. Estará fuera de tiempo y te aceptará con avisos o errores y con ese mensaje

Faneka 04-04-2025 12:52:58

Yo supongo que la AEAT tiene que saber que los registros vienen de un sitio que tiene una hora menos sino todos los RF los daria aceptado con errores. Porque tu mandas por ejemplo a las 9 y ellos tendran que lo reciben a las 10.
Hablandolo con mi compañero nosotros tenemos un cliente que es de Canarias y claro el programa es el mismo, no hace un ajuste de hora al enviar ni nada.

espinete 04-04-2025 12:57:20

Cita:

Empezado por Maska10 (Mensaje 563426)
Leñe, pues seguramente es que la funcion que tengas te está funcionando bien ... ¿no?

No uso ninguna función. Envío las facturas sobre la marcha. En ningún momento obtengo la hora de internet, ni huso horario ni nada :(

espinete 04-04-2025 12:58:29

Cita:

Empezado por rci (Mensaje 563427)
O a lo mejor siempre envías como incidencia? :)

Para hacer la prueba, creas el registro de facturación (se crea con la fecha y hora del momento) sin marcar incidencia, espera 3 minutos y luego envías el registro de facturación. Estará fuera de tiempo y te aceptará con avisos o errores y con ese mensaje

Qué va, no he enviado nunca nada con "Incidencia".

Eso sí, por ahora yo hago los envíos en el momento de emitir la factura. Por ahora no hago envíos por bloques.
Cuando me ponga a hacer los envíos por bloques ya veré con qué me encuentro.

Maska10 04-04-2025 12:59:04

Bueno, resuelto, le he añadido al código esta función para saber si estamos en horario de verano y listo:

Código:

function EsHorarioVerano(Date: TDate): Boolean;
var
tzInfo: TTimeZoneInformation;
Horario: DWORD;
begin
Horario:= GetTimeZoneInformation(tzInfo);
if Horario = TIME_ZONE_ID_DAYLIGHT then
Result:= True
else
Result:= False;
end;


YellowStone 04-04-2025 18:49:17

Lo suyo es que obtengáis la hora oficial de España, del Real Instituto y Observatorio de la Armada (ROA), a través de NTP. https://www2.roa.es/hora/

Luego ya añades 0, 1 o 2 según la empresa emisora esté en Canarias o la península o sea horario de verano o invierno.

Por cierto, de momento, si no cambia nada, en Octubre de 2026 es el último cambio programado de hora, no se si las funciones que usamos (yo uso también esa de EsHorarioVerano) tienen en cuenta este posible inconveniente.

Maska10 04-04-2025 18:51:26

Cita:

Empezado por YellowStone (Mensaje 563447)
Lo suyo es que obtengáis la hora oficial de España, del Real Instituto y Observatorio de la Armada (ROA), a través de NTP. https://www2.roa.es/hora/

Osti ... mira que me hacen repetir la mili eh jaja.

Maska10 05-04-2025 11:16:41

Cita:

Empezado por espinete (Mensaje 563431)
No uso ninguna función. Envío las facturas sobre la marcha. En ningún momento obtengo la hora de internet, ni huso horario ni nada :(

Ein? ,,, entonces que pones en la etiqueta <fechahorahusogenregistro> obligatoria? ... y para generar el hash también es obligatoria

espinete 05-04-2025 12:14:01

Cita:

Empezado por Maska10 (Mensaje 563456)
Ein? ,,, entonces que pones en la etiqueta <fechahorahusogenregistro> obligatoria? ... y para generar el hash también es obligatoria

La hora actual en el momento en que hago la factura + envío. Ya te digo que he enviado más de 250 facturas así.

Sé que hay que tener en cuenta el huso horario, y que se deberían enviar las facturas en bloques y no una a una (aunque esto último está por ver). Solo digo que yo hasta ahora solo estoy usando la fecha/hora actual del equipo.

ermendalenda 06-04-2025 11:47:39

Hola
Ya lo comenté en otro hilo, pero ojo que hay una normativa pendiente de aprobar, no sé si volverán a alargar,de que el último cambio de hora será después del verano de 2026


La franja horaria es GMT +2. Ahora son las 00:03:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi