Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Registros de Facturacion y Eventos (XML)
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-09-2025
rafa1963 rafa1963 is offline
Miembro
 
Registrado: dic 2024
Posts: 100
Poder: 2
rafa1963 Va por buen camino
Consulta - FechaHoraHusoGenRegistro

Bunas tardes compañer©s alguien me puede orientar de como puedo obtener de una fecha los valores para el registro "FechaHoraHusoGenRegistro".
Estoy utilizando para la extracción a un DBedit esto --> FormatDateTime('dd/mm/yyyy hh:nn:ss', FechaHora) pero no creo que sea lo que se necesita.
Agradecería vuestra ayuda.

Gracias
Responder Con Cita
  #2  
Antiguo 17-09-2025
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.435
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
Puedes usar la función: DateToISO8601
https://docwiki.embarcadero.com/Libr....DateToISO8601

Para convertir de una fecha/hora "normal" a lo que necesita ese nodo del XML.
__________________
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
  #3  
Antiguo 17-09-2025
rafa1963 rafa1963 is offline
Miembro
 
Registrado: dic 2024
Posts: 100
Poder: 2
rafa1963 Va por buen camino
respuesta

Gracias por tu pronta respuesta German.
Lo he puesto de esta forma

Código Delphi [-]
{$R *.DFM}

function DateToISO8601(const ADate: TDateTime; AInputIsUTC: Boolean = true): string;
 Var
  FechaISO: string;
begin
  FechaISO := DateToISO8601(Now, False); // Now obtiene la fecha/hora actual
end;

y en el XML

Código Delphi [-]
SistemaInformatico.AddChild('FechaHoraHusoGenRegistro').Text := (FechaISO);
Pero me da error.
Me puedes ayudar ???.
Gracias

Última edición por Neftali [Germán.Estévez] fecha: 18-09-2025 a las 10:20:24.
Responder Con Cita
  #4  
Antiguo 17-09-2025
Carlos Carlos is offline
Miembro
 
Registrado: ago 2025
Posts: 230
Poder: 1
Carlos Va por buen camino
Cita:
Empezado por rafa1963 Ver Mensaje
Gracias por tu pronta respuesta German.
Lo he puesto de esta forma

{$R *.DFM}

function DateToISO8601(const ADate: TDateTime; AInputIsUTC: Boolean = true): string;
Var
FechaISO: string;
begin
FechaISO := DateToISO8601(Now, False); // Now obtiene la fecha/hora actual
end;

y en el XML

SistemaInformatico.AddChild('FechaHoraHusoGenRegistro').Text := (FechaISO);
Pero me da error.
Me puedes ayudar ???.
Gracias
Estaría bien saber el error y que valor está tomando 'FechaISO'.
Responder Con Cita
  #5  
Antiguo 18-09-2025
rafa1963 rafa1963 is offline
Miembro
 
Registrado: dic 2024
Posts: 100
Poder: 2
rafa1963 Va por buen camino
Respuesta

Hola Carlos, gracias por tu pronta respuesta. Señalar que yo trabajo con delphi 2010.
Este es el código que meto en un botón para capturar la fecha actual de un DateTimePicker

Código Delphi [-]
var
MiFecha : TDatetime;
  FechaISO: string;
begin
MiFecha := datetimePicker1.Datetime;
 FechaISO := FormatDateTime('yyyy-MM-dd\"T"\HH:mm:ss.SSSZ',MiFecha); 
  // Para mostrarla 
  ShowMessage(FechaISO);
end

Pero creo que esto no está correcto.
Gracias.

Última edición por Neftali [Germán.Estévez] fecha: 18-09-2025 a las 10:22:14.
Responder Con Cita
  #6  
Antiguo 18-09-2025
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.435
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
Por favor, utiliza TAG's cuando añadas código a los mensajes.
__________________
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
  #7  
Antiguo 18-09-2025
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.435
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
Lo primero que hay que saber es si tu versión de Delphi soporta la función que te he puesto: DateToISO8601

Si la soporta, sólo debes usarla para convertir tu valor de fecha en una cadena (string):

Código Delphi [-]
implementation

{$R *.dfm}
uses
  System.DateUtils;

procedure TForm4.Button1Click(Sender: TObject);
var
  fecha:TDateTime;
  str1, str2:string;
begin
  fecha := Date();  // obtener fecha y hora actual;
  str1 := DateToISO8601(fecha, True);
  str2 := DateToISO8601(fecha, False);
  ShowMessage('Fecha con AinputUTC a True:  ' + str1 + sLineBreak +
              'Fecha con AinputUTC a False: ' + str2);
end;

Si tu dato viene de un campo como comentas, pues utiliza el valor del campo (no del componente), por ejemplo:

Código Delphi [-]
str2 := DateToISO8601(Tabla1.FieldByName('CampoFecha').AsDateTime, False);

Si tu versión de delphi no lo soporta, pues deberás formatearla tú como has hecho más arriba con un FormartDateTime.
__________________
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
  #8  
Antiguo 29-09-2025
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 196
Poder: 11
razorxxx Va por buen camino
Se me pasa por la cabeza el cómo debe actuar un SIF ante la siguiente situación:

Cada vez que se va a generar un RF, leo la fecha-hora del servidor ROA (https://www2.roa.es/cgi-bin/horautc) para que tenga una fecha-hora oficial. Imaginemos que un RF se generó de esta manera, pero el siguiente que se genera falló la petición al ROA y se cogió la fecha-hora del sistema (equipo local) y resulta que dicha fecha-hora es anterior a la del último RF generado. ¿Qué deberíamos hacer en estos casos? ¿Tendríamos que enlazar igualmente el nuevo registro (fecha más vieja) con el anterior (fecha más reciente)? ¿Detecta el webservice de la AEAT que el RF generado de último tiene una FechaHoraHusoGenRegistro inferior a la del anterior con el que está concatenado?

Lo pregunto porque si se concatena después del último generado independientemente de tener una fechahorahusogenregistro inferior, habría que guardar en una tabla el último RF generado por SIF, NumInstalacion y NIFEmisor.

Gracias de antemano. Un saludo.
Responder Con Cita
Respuesta



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
ERROR 2004 El valor del campo FechaHoraHusoGenRegistro debe ser la fecha actual del s edinru Envío de registros y sus respuestas 2 28-07-2025 10:07:41
Error 2004 en VeriFactu: FechaHoraHusoGenRegistro fuera de sincronización francescofera Errores (relacionados con al AEAT) 10 01-07-2025 12:53:41
Error FechaHoraHusoGenRegistro al enviar factura rci Errores (relacionados con al AEAT) 38 07-05-2025 15:07:55
Consulta SQL basada en otra consulta anterior jafera SQL 5 19-11-2013 01:07:37
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 01-10-2007 23:19:44


La franja horaria es GMT +2. Ahora son las 17:41:43.


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