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)
-   -   Control de flujo (https://www.clubdelphi.com/foros/showthread.php?t=97206)

Neftali [Germán.Estévez] 12-02-2025 15:23:17

Cita:

Empezado por BorjaRRR (Mensaje 561981)
He estado haciendo pruebas y todos los envíos me devuelven ok independientemente del tiempo entre envíos. He probado a lanzar dos envíos en un intervalo de unos segundos y también con un intervalo de mas de dos minutos, todos me devuelven ok.

Tenía entendido que había que realizar los envíos con un mínimo de 60 segundos (lo que devuelven en la respuesta) y un máximo de 120 (60 + margen 60).
¿Esto es correcto?

Cita:

Empezado por gcqZW (Mensaje 561982)
Si no me equivoco por ahora esta en pruebas y deja mandar de forma seguida, pero ten cuidado que a algunos les han baneado temporalmente debido a eso.

Yo he enviado uno, dejando pasar unos minutos y me ha devuelto "Acepada con errores" y este error: El valor del campo FechaHoraHusoGenRegistro debe ser la fecha actual del sistema de la AEAT, admitiéndose un margen de error de: 120 segundos.

trumbolt 18-02-2025 11:24:32

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 561987)
Yo he enviado uno, dejando pasar unos minutos y me ha devuelto "Acepada con errores" y este error: El valor del campo FechaHoraHusoGenRegistro debe ser la fecha actual del sistema de la AEAT, admitiéndose un margen de error de: 120 segundos.

Es un error que creo que puede ser relativamente común en entornos de producción. Si, como en mi caso, se guarda el timestamp de cuando ha sido generado el registro, cualquier respuesta que indique más de 120 segundos o cualquier error de soap:fault del server que signifique el reenvío posterior de la info, implicarán siempre la salida de ese error. Y eso sin entrar en que el equipo del cliente (lo mío es soft de escritorio) tenga mal la fecha aunque para eso ya he visto que la gente se está apoyando en la hora del ROA.

De todas formas, es afortunadamente un error que no hay que subsanar :D

Por cierto, cuando la gente habla de "marcar incidencia" cuando la hora de envío es superior a la de generación del registro en esos 120 segundos, ¿a qué se refiere?

Faneka 18-02-2025 11:48:06

En la cabecera puedes marcar como incidencia -> 'S' cuando por algún motivo no se pudo enviar el fichero, yo aparte de que no pueda porque este sin linea, sin certificado, etc.. si desde que creo el fichero hasta que se envia por lo que sea pasan más de 120 s tambien lo marco para que no me devuelva aceptado con errores.

trumbolt 18-02-2025 11:51:42

Cita:

Empezado por Faneka (Mensaje 562075)
En la cabecera puedes marcar como incidencia -> 'S' cuando por algún motivo no se pudo enviar el fichero, yo aparte de que no pueda porque este sin linea, sin certificado, etc.. si desde que creo el fichero hasta que se envia por lo que sea pasan más de 120 s tambien lo marco para que no me devuelva aceptado con errores.

Siempre abro el excel de descripción de registros por el de alta y no me había fijado en los nodos opcionales de <RemisionVoluntaria>. Gracias compañero ;)

bmfranky 18-02-2025 11:56:48

Cita:

Empezado por trumbolt (Mensaje 562076)
Siempre abro el excel de descripción de registros por el de alta y no me había fijado en los nodos opcionales de <RemisionVoluntaria>. Gracias compañero ;)

Hola, una cosa, no useis el excell de descripcion del servicio web, esta super desactualizado, teneis que usar los pdf de ayuda aqui. https://www.agenciatributaria.es/AEA...ERI_FACTU.html
No estan actualizando el excell desde la version inicial, el 28/10/2024.

trumbolt 18-02-2025 12:30:31

Cita:

Empezado por bmfranky (Mensaje 562077)
Hola, una cosa, no useis el excell de descripcion del servicio web, esta super desactualizado, teneis que usar los pdf de ayuda aqui. https://www.agenciatributaria.es/AEA...ERI_FACTU.html
No estan actualizando el excell desde la version inicial, el 28/10/2024.

Gracias por el apunte. Ya había descubierto alguna discrepancia, sobre todo en la parte de <SistemaInformatico>, con nodos que aparecían como opcionales (IndicadorMultiplesOT, por ejemplo) pero que resultaban ser obligatorios :)

CarlosMz 04-03-2025 12:12:16

Si tengo un sistema de facturación automática en el que se generan en un día concreto un nº de facturas, supongamos se generan 500 facturas.

El envío debería ser:

1. Primera factura generada se intenta envío.
2. Se reciben 60 segundos de espera
3. Se intenta envío de las 499 facturas restantes

¿Es correcto?

Neftali [Germán.Estévez] 04-03-2025 12:24:15

Cita:

Empezado por CarlosMz (Mensaje 562420)
Si tengo un sistema de facturación automática en el que se generan en un día concreto un nº de facturas, supongamos se generan 500 facturas.

El envío debería ser:

1. Primera factura generada se intenta envío.
2. Se reciben 60 segundos de espera
3. Se intenta envío de las 499 facturas restantes

¿Es correcto?


Depende de cómo tengas hecha la pieza que realiza los envios.
No acabo de entender porqué después de la primera haces el envío, supongo que lo tienes programado así.

En nuestro caso, tenemos una cola que procesa cada 60 sg. las facturas que estén pendientes de enviar (se intenta realizar el envío si hay alguna factura pendiente). Si hacienda modifica el tiempo, cambiamos esos "cada 60 sg." a "cada 120 sg" o a lo que diga la AEAT.


En nuestro caso al generar esas 500 facturas, se añadirán a la cola y se enviarán en uno o varios bloques, dependiendo del momento en que entren en la cola de procesamiento.

Supongo que hay varias estratégias.

CarlosMz 04-03-2025 12:36:28

Si generas 500 facturas y las mandas a la cola no podría darse el caso que tarde minutos en enviarse ?

Pensaba que el envío inicial, por ejemplo el primero del día, si no hay tiempo de espera ¿no debe ser inmediato ?

gcqZW 04-03-2025 12:51:44

Si no generas las 500 a la vez sí, sino puedes enviar las 500 de golpe, según entiendo tu caso sería:

Generas la 1a factura y la envias, te devuelve t=X segundos.
Esperas X segundos. (Aquí se acumulan las facturas que vayas creando a lo largo de X segundos)
Envías el bloque de facturas que haya acumuladas. (En tu ejemplo 499)

Si es como he explicado, tu flujo es correcto, si por algún casual generaras las 500 a la vez lo mas correcto sería enviarlas todas en el primer envio.

CarlosMz 04-03-2025 12:58:45

Sinceramente, no comprendo a qué te refieres con generar "500 a la vez".
Aunque sea un proceso de facturación masiva que tarda 3 minutos... realmente, en mi caso, se crean una a una, con nº correlativo ... no hago un batch

ermendalenda 04-03-2025 13:19:23

Cita:

Empezado por CarlosMz (Mensaje 562432)
Sinceramente, no comprendo a qué te refieres con generar "500 a la vez".
Aunque sea un proceso de facturación masiva que tarda 3 minutos... realmente, en mi caso, se crean una a una, con nº correlativo ... no hago un batch

Hola
Tienes q7e ir verificando en segundo plano, (o en el mismo batch) que mientras vas generando no se sale del tiempo y eel número de registros pendientes de enviar del control de flujos, por que puede que mientras esté generando tengas que hacer envíos

gcqZW 04-03-2025 14:53:27

Cita:

Sinceramente, no comprendo a qué te refieres con generar "500 a la vez".
La verdad es que no tiene mucho sentido en la realidad, pero me refiero a que si al empezar el día tienes 500 facturas listas para el envio no tienes que mandar la primera sola y luego en que pase el tiempo las 499 restantes sino que podrías mandar las 500 desde el inicio.


La franja horaria es GMT +2. Ahora son las 08:00:34.

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