Ver Mensaje Individual
  #1  
Antiguo Hace 2 Semanas
rci rci is offline
Miembro
 
Registrado: nov 2020
Posts: 416
Reputación: 5
rci Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
En nuestro caso, que también trabajamos con un servidor (SQLServer y donde están los servicios de envío), tenemos una función que nos devuelve la fecha/hora del Servidor (SQLSerevr).
En algunos casos (no en todos) no cogemos la hora del equipo, sino la del servidor (para el tema de Ley antifraude lo hemos usado en varios sitios).
Muchas gracias Neftali.
Nosotros también usamos la fecha y hora del servidor SQL server, y procuramos que ese servidor siempre esté en la hora exacta. No usamos la hora local del ordenador porque pueden estar fuera de hora y tampoco consultamos la hora de internet (ROA) a cada factura para evitar tantas consultas.
Pero independientemente de esto, nos ocurre lo mencionado en el primer post. Porque esa fecha hora del servidor SQL, al pasarla a DateTime, no tiene el huso y luego depende de donde se utilice ese DateTime, genera una FechaHoraHusoGenRegistro distinta.

Para coger la hora del servidor SQL primero usábamos la consulta
Código SQL [-]
SELECT GETDATE()
Pero solo devuelve un DateTime (sin huso)
Luego probamos con la consulta
Código SQL [-]
SELECT SYSDATETIMEOFFSET()
Que devuelve un DateTimeOffset, este tipo si que tiene una propiedad Offset con el desplazamiento de la hora respecto de la hora universal coordinada (UTC).

Esto seria fantástico si en la clase de VeriFactu que se genera al importar el WSDL, el objeto FechaHoraHusoGenRegistro fuera DateTimeOffset, pero no lo es.
Y estamos con el mismo problema

Muchas gracias
Responder Con Cita