Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-04-2024
javipes javipes is offline
Miembro
 
Registrado: jul 2007
Posts: 14
Poder: 0
javipes Va por buen camino
Hola a todos.
Estoy ya implementando con wsdl V0.11.5 y me encuentro con que al importar la wsdl correspondiente me aparece la definicion del dato FFechaHoraHusoGenRegistro: TXSDateTime;
Al utilizarlo segun la definicion de Soap.XSBuiltIns me genera un valor 2024-04-10T11:38:56.000Z , cosa que se separa ligeramente del formato indicado.
Lo he resuelto incluyendo al principio de la unit SistemaFacturacion una redefinicion: type TXSDateTime=string; y el valor lo he formateado adecuadamente segun el formato indicado: AAAA-MM-DDThh:nn:ss+0x:00 la x varia entre 0, 1 2 segun corresponda. En principio está resuelto para la generacion del xml.
La pregunta es ¿esto solo me ha ocurrido a mi, o es que he utilizado un importacion incorrecta del wsdl?
He importado (desde Studio 10.1 Berlin)
https://prewww2.aeat.es/static_files...cturacion.wsdl

y utilizo la opcion
Porcess only WSDL Binding extensions por the SOAP 1.2 Protocol

Última edición por Neftali [Germán.Estévez] fecha: 11-04-2024 a las 16:20:19.
Responder Con Cita
  #2  
Antiguo 10-04-2024
CarlosR CarlosR is offline
Miembro
 
Registrado: sep 2015
Posts: 67
Poder: 9
CarlosR Va por buen camino
Formato fecha hora con huso horario

Cita:
Empezado por javipes Ver Mensaje
Hola a todos.
Estoy ya implementando con wsdl V0.11.5 y me encuentro con que al importar la wsdl correspondiente me aparece la definicion del dato FFechaHoraHusoGenRegistro: TXSDateTime;
Al utilizarlo segun la definicion de Soap.XSBuiltIns me genera un valor 2024-04-10T11:38:56.000Z , cosa que se separa ligeramente del formato indicado.
Lo he resuelto incluyendo al principio de la unit SistemaFacturacion una redefinicion: type TXSDateTime=string; y el valor lo he formateado adecuadamente segun el formato indicado: AAAA-MM-DDThh:nn:ss+0x:00 la x varia entre 0, 1 2 segun corresponda. En principio está resuelto para la generacion del xml.
La pregunta es ¿esto solo me ha ocurrido a mi, o es que he utilizado un importacion incorrecta del wsdl?
He importado (desde Studio 10.1 Berlin)
...aeat/tikeV1.0/... /SistemaFacturacion.wsdl (no me deja poner la url entera)
y utilizo la opcion
Porcess only WSDL Binding extensions por the SOAP 1.2 Protocol

Al importarlo en Embarcadero Studio Enterprise con el compilador C++ builder 11 no genera ese mismo nombre de campo. La importación al framework del wsdl se hizo en modo automático.

De todos modos, no creo que sea difícil hacer un conversor a string.


Si usa sql server para generar datos y por si le sirve de ayuda le paso una simple instrucción :


print SubString(convert(varchar(14),getdate(),112),7,2) + '-' + SubString(convert(varchar(14),getdate(),112),5,2) + '-' + SubString(convert(varchar(14),getdate(),112),1,4)+' ' + SubString(convert(varchar(14),getdate(),114),1,8)+'+0'+TRIM(STR(datediff(hour,getutcdate(),getdate() )))+':00'


Le generará el diferencial transformado entre la fecha utc y la fecha real de su sistema. Todo en uno !


Saludos.
Responder Con Cita
  #3  
Antiguo 10-04-2024
javipes javipes is offline
Miembro
 
Registrado: jul 2007
Posts: 14
Poder: 0
javipes Va por buen camino
Sí, si eso lo tengo codificado, sin problemas:
Código Delphi [-]
function DTHuso(Valor: TdateTime):string;
begin
  Result := FormatDateTime('yyyy-mm-ddThh:nn:ss',Valor)+HusoHorario(Valor);
end;
Y HusoHorario me devuelve ese diferencial que indicas, solo que yo devuelvo en HusoHorario '+00:00' '+01:00' o '+02:00'

Yo realmente preguntaba si al importar el wsdl el dato FechaHoraHusoGenRegistro se habia importado como TXSDateTime
en cuyo caso la asignacion al dato sería algo así:

....FechaHoraHusoGenRegistro:=DateTimeToXSDateTime(Fecha); --> aaaa-mm-ddThh:nn:ss:ddddZ p
pero no sale el HusoHorario
por ello, he redefinido dicho tipo como un string (podría ser como un dato TextMax25Type o similar)



con la redefinicion planteada le asigno
....FechaHoraHusoGenRegistro:=DTHuso(Fecha); --> aaaa-mm-ddThh:nn:ss+0x:00

(normalmente la fecha será el timedateactual, now() pero quería preparar una funcion)
Responder Con Cita
  #4  
Antiguo 10-04-2024
CarlosR CarlosR is offline
Miembro
 
Registrado: sep 2015
Posts: 67
Poder: 9
CarlosR Va por buen camino
Fecha texto

Cita:
Empezado por javipes Ver Mensaje
Sí, si eso lo tengo codificado, sin problemas:
Código Delphi [-]function DTHuso(Valor: TdateTime):string; begin Result := FormatDateTime('yyyy-mm-ddThh:nn:ss',Valor)+HusoHorario(Valor); end;

Y HusoHorario me devuelve ese diferencial que indicas, solo que yo devuelvo en HusoHorario '+00:00' '+01:00' o '+02:00'

Yo realmente preguntaba si al importar el wsdl el dato FechaHoraHusoGenRegistro se habia importado como TXSDateTime
en cuyo caso la asignacion al dato sería algo así:

....FechaHoraHusoGenRegistro:=DateTimeToXSDateTime(Fecha); --> aaaa-mm-ddThh:nn:ss:ddddZ p
pero no sale el HusoHorario
por ello, he redefinido dicho tipo como un string (podría ser como un dato TextMax25Type o similar)



con la redefinicion planteada le asigno
....FechaHoraHusoGenRegistro:=DTHuso(Fecha); --> aaaa-mm-ddThh:nn:ss+0x:00

(normalmente la fecha será el timedateactual, now() pero quería preparar una funcion)

De todas formas personalmente trato ese dato como un texto. Actualmente estoy cambiando el modelo creado con el wsdl a un modelo manual, "todo hecho a pelo". A menos que vea algo insalvable lo dejaré manual.
Me da mucha mas libertad para actuar y para las actualizaciones. Ayer tomé la decisión y ya casi lo tengo terminado. Voy a probar de una manera local y ver que genera. (Respetando el código actual por si acaso)



Un consejo si me lo permite, preste mucha atención a la fechahora actual y la la fechahora dtc. No vaya a sacar esto de cada terminal si tiene un modelo de soft centralizado. Podría ocurrir que si una máquina no está en hora generaría un registro que no esté ordenado por fechahora y eso daría errores en la AEAT.
Mejor dejar que el sistema centralizado ofrezca tales datos si es que así lo ha concebido.


Un saludo.
Responder Con Cita
  #5  
Antiguo 10-04-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 893
Poder: 3
ermendalenda Va por buen camino
Recordáis si en el webinar dijeron algo, de nuevo, de tener que recomprobar los encadenamientos de los últimos 5 registros al generar cada factura? No recuerdo que lo repitieran no?. Es que es un lastre.
Responder Con Cita
  #6  
Antiguo 11-04-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 178
Poder: 3
edari Va por buen camino
Buenas,


Los que trabajáis con el programa en local tenéis pensado hacer algún tipo de control sobre el certificado? Estado del mismo? Fecha de caducidad?
Responder Con Cita
  #7  
Antiguo 11-04-2024
Delphier Delphier is offline
Miembro
 
Registrado: feb 2024
Posts: 14
Poder: 0
Delphier Va por buen camino
Cita:
Empezado por edari Ver Mensaje
Buenas,


Los que trabajáis con el programa en local tenéis pensado hacer algún tipo de control sobre el certificado? Estado del mismo? Fecha de caducidad?

Pues dependerá de lo que contesten los de verifactu a esto

"
Hola

Se sabe ya si cuando una empresa que no haga envíos, tenga algún problema con el certificado, por temas de caducidad, técnicos , etc.. tiene que cerrar la tienda y enviar a los trabajadores a casa , hasta solucionar el problema técnico o puede seguir haciendo tiquets sin firmar hasta la solución?

Muchas Gracias.
Saludos
"
Responder Con Cita
  #8  
Antiguo 11-04-2024
javipes javipes is offline
Miembro
 
Registrado: jul 2007
Posts: 14
Poder: 0
javipes Va por buen camino
Cita:
Empezado por CarlosR Ver Mensaje
De todas formas personalmente trato ese dato como un texto. Actualmente estoy cambiando el modelo creado con el wsdl a un modelo manual, "todo hecho a pelo". A menos que vea algo insalvable lo dejaré manual.
Me da mucha mas libertad para actuar y para las actualizaciones. Ayer tomé la decisión y ya casi lo tengo terminado. Voy a probar de una manera local y ver que genera. (Respetando el código actual por si acaso)



Un consejo si me lo permite, preste mucha atención a la fechahora actual y la la fechahora dtc. No vaya a sacar esto de cada terminal si tiene un modelo de soft centralizado. Podría ocurrir que si una máquina no está en hora generaría un registro que no esté ordenado por fechahora y eso daría errores en la AEAT.
Mejor dejar que el sistema centralizado ofrezca tales datos si es que así lo ha concebido.


Un saludo.



Muchas gracias por la indicación, CarlosR, pero de momento todos los clientes utilizan un servidor centralizado al que se conectan por escritorio remoto y cada uno , en su perfil ejecuta la aplicacion. Todos tienen la misma hora del sistema, que es la del servidor, y se actualiza segun el huso horario actual. (horario verano/ horario invierno)
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
Hijo de Informáticos gluglu Humor 3 13-03-2007 11:05:35
Adictos informaticos ... Trigger Humor 2 11-10-2004 12:18:32
Nosotros los Informáticos Trigger Humor 1 10-10-2004 14:58:09
Patrón de los Informáticos. obiwuan Varios 20 10-09-2003 14:44:54
Chistes Informaticos jhonny Humor 2 11-08-2003 21:59:09


La franja horaria es GMT +2. Ahora son las 21:18:02.


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