Ver Mensaje Individual
  #13  
Antiguo 05-11-2024
delphiGar delphiGar is offline
Miembro
 
Registrado: ago 2024
Posts: 182
Reputación: 2
delphiGar Va por buen camino
Buenos dias, tienes que hacerlo asi:

Código Delphi [-]
    XSDatetime := TXSDatetime.Create;
    XSDatetime.AsDateTime := Now;
    XSDatetime.FractionalSeconds := 0;
    Factura.RegistroAlta.FechaHoraHusoGenRegistro := XSDatetime; // Formato: YYYY-MM-DDThh:mm:ssTZD (ej: 2024-01-01T19:20:30+01:00) (ISO 8601)

sino le pones
Código Delphi [-]
FractionalSeconds := 0
; te pone los milisegundos tal como muestras 2024-11-05T11:37:29.316+01:00 y tiene que ser 2024-11-05T11:37:29+01:00


Cita:
Empezado por keno_71 Ver Mensaje
Buenos días, estoy enviando una subsanación de una factura después de los últimos cambios en los xsd y me está dando error el huso horario. Esta vez no estoy montando a mano el xml sino que estoy usando el objeto RegFactuSistemaFacturacion

cuando lo hacía directamente montando el xml pasaba un string con el objeto ISO8601 y listo. En este caso y gracias a seccion31 por su ejemplo en github estoy haciendo lo siguiente:

Código Delphi [-]
    XSDatetime := TXSDatetime.Create;
    XSDatetime.AsDateTime := Now;
    Factura.RegistroAlta.FechaHoraHusoGenRegistro := XSDatetime; // Formato: YYYY-MM-DDThh:mm:ssTZD (ej: 2024-01-01T19:20:30+01:00) (ISO 8601)

este código envía la siguiente información en el huso horario:

Código Delphi [-]
2024-11-05T11:37:29.316+01:00

este envío me devuelve el error de la AEAT siguiente:

Código Delphi [-]
Incorrecto
1100
escripcionErrorRegistro>Valor o tipo incorrecto del campo.: FechaHoraHusoGenRegistroescripcionErrorRegistro>


lo siguiente que he intentado es enviar:

Código Delphi [-]
    XSDatetime := TXSDatetime.Create;
    XSDatetime.AsDateTime := Now;
    Factura.RegistroAlta.FechaHoraHusoGenRegistro := DateTimeToXSDateTime( XSDatetime.AsDateTime );

este código envía la siguiente información en el huso horario:
Código Delphi [-]
2024-11-05T11:38:26.012Z

y la respuesta de Hacienda es:

Código Delphi [-]

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

Ahora mismo estoy un poco parado porque me cuadra más el primer envío que el segundo, pero el primero ni siquiera pasa, este segundo si lo acepta pero con errores, si alguno ha estado en este punto y lo ha conseguido arreglar se agradece ayuda