Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Envío de registros y sus respuestas
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-02-2025
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
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
Cita:
Empezado por unomasmas Ver Mensaje
Date cuenta de que cuando se genera una factura esta se envía inmediatamente (vamos, se intenta enviar).
O me estoy perdiendo algo, a esto os va a dar errores.
1) Generáis 2 facturas con una diferencia de tiempo de 20 segundos y el tiempo que está devolviendo la AEAT para esperar entre envíos es de 60 sg. (por defecto)
2) Si intentáis enviar la facturas inmediatamente después de su generación, váis a tener problemas.

¿Es correcto?
__________________
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
  #2  
Antiguo 05-02-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.764
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
O me estoy perdiendo algo, a esto os va a dar errores.
1) Generáis 2 facturas con una diferencia de tiempo de 20 segundos y el tiempo que está devolviendo la AEAT para esperar entre envíos es de 60 sg. (por defecto)
2) Si intentáis enviar la facturas inmediatamente después de su generación, váis a tener problemas.

¿Es correcto?
Sí, veo que hay demasiada gente que no entiende el control de flujos y lo interpreta mal
Esto me lleva a la conclusión de que va a ser tal el lío que no temdran mas remedio que abrir la.manoy permitir los envios antes de tiempo entre otras cuesriones. Sii no no van a tener capacidad de absorber esto
Responder Con Cita
  #3  
Antiguo 05-02-2025
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 863
Poder: 3
bmfranky Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
O me estoy perdiendo algo, a esto os va a dar errores.
1) Generáis 2 facturas con una diferencia de tiempo de 20 segundos y el tiempo que está devolviendo la AEAT para esperar entre envíos es de 60 sg. (por defecto)
2) Si intentáis enviar la facturas inmediatamente después de su generación, váis a tener problemas.

¿Es correcto?
Cita:
Empezado por ermendalenda Ver Mensaje
Sí, veo que hay demasiada gente que no entiende el control de flujos y lo interpreta mal
Esto me lleva a la conclusión de que va a ser tal el lío que no temdran mas remedio que abrir la.manoy permitir los envios antes de tiempo entre otras cuesriones. Sii no no van a tener capacidad de absorber esto
Hola, os doy y os quito la razon,
No es lo mismo, facturar las facturas una a una que por "bala" que seas, te da igual esperar 1 minuto, es mas o menos lo que tardas en introducir los datos , previsualiza y demas, que como vosotros gestionar un multi puesto que en 20" te pueden generar 10 facturas o mas, si es una caja que coje los datos de un codigo de barras y los asigna en decimas de segundo, ya me diras, entonces, no es la misma forma de plantear el control de flujo.
En mi caso es el siguiente, enpiezo a facturar realizo una consulta a la aeat para ver que este el servidor activo sino saco un mensaje para realizar una proforma y cuando haya conexion facturar y enviar, relleno lo necesario e intento enviar la factura, si todo OK, inicializo un timer con un flag que me impide enviar nada hasta que pasen los t segundos que devolbio hacienda.
Hasta el momento , incluso con las pruebas moñas tardo unos 45" en selecionar el tipo de factura, introducir algo en la mas sencilla que es un F2, previsualizar y enviar que en mi caso lo he dividido en 2 modulos independientes , y proceder el envio, esperar 15" mas no es problema, "OJO EN MI CASO".
En vuestro caso , si o si, se deve implementar un gestor de envios independiente, que solo recoja las facturas que se le pasen , encadenadas o encadenandolas el, haga los intentos de envio y demas gestiones, sin asistencia del usuario, exceptuando fallos catastroficos, diria yo.


A mi se me ocurre , por ejemplo:


Se inicia el servicio:
1 -> Contadores de tiempo, incidencias etc a 0, false, primer envio true, etc...
2 -> Consulta a la tabla en la que se insertan los registros de facturas, abonos, restificativas ,etc a enviar.(esta consulta se realiza periodicamente cada 1" por ejemplo

->no vacia y primer envio a true, se hace consulta a aeat , asignando fecha y registro del primer envio en cola , se compruban todos los registros, descartan los ya enviados si los
hay , se realizan las diversas comprobaciones para ver si los registros de la bbdd coinvciden con los de la aeat, se envia los restantes con incidencia si timestamp superior a actual
+120".
->no vacia y tiempo de espera =0 o 1000 registros, envio inmediato. se pone el contador = a tiempo devuelto + 50 segundos.
-> tiempo de espera --1;
3 -> se van apilando, desapilando los registros segun sea necesario y se repite sucesivamente el punto 2.


Para apagar el servicio, se intenta primero vaciar la cola pendiente y luego se deja apagar.

Estoy equivocado en mi planteamiento?
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #4  
Antiguo 05-02-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.764
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por bmfranky Ver Mensaje
Hola, os doy y os quito la razon,
No es lo mismo, facturar las facturas una a una que por "bala" que seas, te da igual esperar 1 minuto, es mas o menos lo que tardas en introducir los datos , previsualiza y demas, que como vosotros gestionar un multi puesto que en 20" te pueden generar 10 facturas o mas, si es una caja que coje los datos de un codigo de barras y los asigna en decimas de segundo, ya me diras, entonces, no es la misma forma de plantear el control de flujo.
En mi caso es el siguiente, enpiezo a facturar realizo una consulta a la aeat para ver que este el servidor activo sino saco un mensaje para realizar una proforma y cuando haya conexion facturar y enviar, relleno lo necesario e intento enviar la factura, si todo OK, inicializo un timer con un flag que me impide enviar nada hasta que pasen los t segundos que devolbio hacienda.
Hasta el momento , incluso con las pruebas moñas tardo unos 45" en selecionar el tipo de factura, introducir algo en la mas sencilla que es un F2, previsualizar y enviar que en mi caso lo he dividido en 2 modulos independientes , y proceder el envio, esperar 15" mas no es problema, "OJO EN MI CASO".
En vuestro caso , si o si, se deve implementar un gestor de envios independiente, que solo recoja las facturas que se le pasen , encadenadas o encadenandolas el, haga los intentos de envio y demas gestiones, sin asistencia del usuario, exceptuando fallos catastroficos, diria yo.


A mi se me ocurre , por ejemplo:


Se inicia el servicio:
1 -> Contadores de tiempo, incidencias etc a 0, false, primer envio true, etc...
2 -> Consulta a la tabla en la que se insertan los registros de facturas, abonos, restificativas ,etc a enviar.(esta consulta se realiza periodicamente cada 1" por ejemplo

->no vacia y primer envio a true, se hace consulta a aeat , asignando fecha y registro del primer envio en cola , se compruban todos los registros, descartan los ya enviados si los
hay , se realizan las diversas comprobaciones para ver si los registros de la bbdd coinvciden con los de la aeat, se envia los restantes con incidencia si timestamp superior a actual
+120".
->no vacia y tiempo de espera =0 o 1000 registros, envio inmediato. se pone el contador = a tiempo devuelto + 50 segundos.
-> tiempo de espera --1;
3 -> se van apilando, desapilando los registros segun sea necesario y se repite sucesivamente el punto 2.


Para apagar el servicio, se intenta primero vaciar la cola pendiente y luego se deja apagar.

Estoy equivocado en mi planteamiento?
Hola Bmfranky.
Has tenido en cuenta si te devuelven 3600segundos de espera? Por que he visto que hay gente que np
El problema es que muchos proponen enviar la factura inmediatamente aunque tengan que esperar.

Última edición por ermendalenda fecha: 05-02-2025 a las 14:41:30.
Responder Con Cita
  #5  
Antiguo 05-02-2025
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 863
Poder: 3
bmfranky Va por buen camino
Cool

Cita:
Empezado por ermendalenda Ver Mensaje
Hola Bmfranky.
Has tenido en cuenta si te devuelven 3600segundos de espera?
Ya te digo yo , que 3600 segundos no te van a devolver, el tiempo de espera, lo han introducido para que no enviemos cada 20" 1 registro, 1 al minuto, 1 a la hora, no van ni a mirarlo, tiempo al tiempo, con ello, no es logico que ellos mismos generen incidencias de envio por el timestamp.
Ademas si nos devuelven 1 hora , pues o habreis llegado al limite de 1000 registros o se envia como incidencia.
Ya querria yo tener el problema de terminar 12 coches al dia y no poder facturarlos, por el tiempo de envio
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #6  
Antiguo 05-02-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.764
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por bmfranky Ver Mensaje
Ya te digo yo , que 3600 segundos no te van a devolver, el tiempo de espera, lo han introducido para que no enviemos cada 20" 1 registro, 1 al minuto, 1 a la hora, no van ni a mirarlo, tiempo al tiempo, con ello, no es logico que ellos mismos generen incidencias de envio por el timestamp.
Ademas si nos devuelven 1 hora , pues o habreis llegado al limite de 1000 registros o se envia como incidencia.
Ya querria yo tener el problema de terminar 12 coches al dia y no poder facturarlos, por el tiempo de envio
Bueno, esa decisión digo yo que será cuestión de los parámetros que ellos tengan. Por que si esransaturados y deciden eso para todos se puede liar gorda si nadie hace caso al control de flujos u todos han optado por tener 1 minuto
Responder Con Cita
  #7  
Antiguo 05-02-2025
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 863
Poder: 3
bmfranky Va por buen camino
t Segundos de espera.

Cita:
Empezado por ermendalenda Ver Mensaje
Bueno, esa decisión digo yo que será cuestión de los parámetros que ellos tengan. Por que si esransaturados y deciden eso para todos se puede liar gorda si nadie hace caso al control de flujos u todos han optado por tener 1 minuto
Ojo, @elmendalenda, yo no he dicho 1 minuto yo siempre hago referencia a los t segundos que ellos devuelven, igual en vez de se 60" , son 20", porque ven que tus envios son muy espaciados...
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #8  
Antiguo 05-02-2025
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
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
Cita:
Empezado por bmfranky Ver Mensaje
Ya te digo yo , que 3600 segundos no te van a devolver, el tiempo de espera, lo han introducido para que no enviemos cada 20" 1 registro, 1 al minuto, 1 a la hora, no van ni a mirarlo, tiempo al tiempo, con ello, no es logico que ellos mismos generen incidencias de envio por el timestamp.

Yo creo que de normal no van a cambiar los tiempos, pero me da que esta opción está pensada para evirtar sobrecargas en sus servidores.
Estoy pensando en momentos puntuales (final de mes) que la gente genere muchas facturas (o muchas empresas generándolas).

Con esto minimizas las peticiones realizadas a sus servidores.


Si cada 60 sg. tienes 100.000 peticiones, basta con enviar 120 sg. para tener la mitad o 240 sg. para tener un a cuarta parte (con el doble/cuadruple de facturas, eso si, pero no es lo mismo).
__________________
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
  #9  
Antiguo 05-02-2025
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 863
Poder: 3
bmfranky Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Yo creo que de normal no van a cambiar los tiempos, pero me da que esta opción está pensada para evirtar sobrecargas en sus servidores.
Estoy pensando en momentos puntuales (final de mes) que la gente genere muchas facturas (o muchas empresas generándolas).

Con esto minimizas las peticiones realizadas a sus servidores.


Si cada 60 sg. tienes 100.000 peticiones, basta con enviar 120 sg. para tener la mitad o 240 sg. para tener un a cuarta parte (con el doble/cuadruple de facturas, eso si, pero no es lo mismo).
La verdad es que siguiendo el ejemplo que me indicabas, pongamos que simplemente, para algunos en vez de 60" voy indicando caja 100 "*Pedidores" un segundo de diferencia,osea a unos 61, 62, 63 , etc.., la atencion por segundo la desplazo a 1000 por segundo que ahi si lo puedo asimilar, por decir algo, osea los descuadran , no necesariamente acia arriba, igual hacia abajo.


*Lo se no seria asi, pero es para que me se me entienda.
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #10  
Antiguo 05-02-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.764
Poder: 7
ermendalenda Va por buen camino
Talking

Bmfranky

Acabo de releer tu mensaje de control de flujos y creo que haces un control de flujos lógico según el requerimiento, pero me ha liado cuando has puesto que estabas en acuerdo y desacuerdo. No entiendo en qué pinto tienes el desacuerdo.
El problema es que hay posta anteriores en que proponen un control de flujos no acorde a los tiempos (t)
Responder Con Cita
  #11  
Antiguo 05-02-2025
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 863
Poder: 3
bmfranky Va por buen camino
Talking

Cita:
Empezado por ermendalenda Ver Mensaje
Acabo de releer esto y creo que haces un control de flujos lógico según el requerimiento, pero me ha liado cuando has puesto que estabas en acuerdo y desacuerdo. No entiendo en qué pinto tienes el desacuerdo.
El problema es que hay posta anteriores en que proponen un control de flujos no acorde a los tiempos (t)
No, de acuerdo, estoy de acuerdo en todo, he dicho que os daba y quitaba la razon, es que no me gusta darle la razon a nadie "Es broma".
A lo que me referia es que indicais que la forma de gestionar las facturas es incorrecto si no se crea un gestor de envios, que tenga en cuenta los tiempos y demas, y "Personalmente" indico que para un SIF monopuesto y con un bajo nivel de facturacion , no es necesario, solo eso, no es que este encontra de lo que indicais , ni me parezca, mal ni nada de eso, si lo ha parecido , me disculpo.
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #12  
Antiguo 05-02-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.764
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por bmfranky Ver Mensaje
No, de acuerdo, estoy de acuerdo en todo, he dicho que os daba y quitaba la razon, es que no me gusta darle la razon a nadie "Es broma".
A lo que me referia es que indicais que la forma de gestionar las facturas es incorrecto si no se crea un gestor de envios, que tenga en cuenta los tiempos y demas, y "Personalmente" indico que para un SIF monopuesto y con un bajo nivel de facturacion , no es necesario, solo eso, no es que este encontra de lo que indicais , ni me parezca, mal ni nada de eso, si lo ha parecido , me disculpo.
Nada hombre, no hace falta disculparse, es que no termino de entenderlo.
Si no entiendo mal propones:
Cita:
A mi se me ocurre , por ejemplo:


Se inicia el servicio:
1 -> Contadores de tiempo, incidencias etc a 0, false, primer envio true, etc...
2 -> Consulta a la tabla en la que se insertan los registros de facturas, abonos, restificativas ,etc a enviar.(esta consulta se realiza periodicamente cada 1" por ejemplo...
Para mi esto es lo mismo que hacemos los demás, un servicio de control de flujos teniendo en cuenta los tiempos. No veo diferencia
Responder Con Cita
  #13  
Antiguo 05-02-2025
unomasmas unomasmas is offline
Miembro
 
Registrado: dic 2019
Posts: 194
Poder: 7
unomasmas Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
O me estoy perdiendo algo, a esto os va a dar errores.
1) Generáis 2 facturas con una diferencia de tiempo de 20 segundos y el tiempo que está devolviendo la AEAT para esperar entre envíos es de 60 sg. (por defecto)
2) Si intentáis enviar la facturas inmediatamente después de su generación, váis a tener problemas.

¿Es correcto?
Sí, es correcto. Por eso se trata de un intento (es una mala expresión; debiera haber dicho "se pone a la cola"). Lo que pasa es que en mi planteamiento esa cola se comprueba con dos eventos (Timer, o sea cada x tiempo revisa si hay algo que enviar y en el mismo proceso de ponerla en la cola: comprueba cómo está el asunto del tiempo para en caso de estar en plazo enviarla directamente sin necesidad de esperar a una nueva comprobación del timer).
Responder Con Cita
  #14  
Antiguo 05-02-2025
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.215
Poder: 24
newtron Va camino a la fama
Creo que estamos divagando con este tema más de la cuenta e igual lo estamos complicando. A ver... un ejemplo tontuno rollo lemmings :


Supongamos que tenemos un pasillo estrecho con una puerta. Al primero que llega se le abre la puerta, pasa y se cierra y al lado de la puerta hay una pantalla que dice 120, estos son los segundos que se ha respondido que faltan hasta que se vuelva a abrir. Todos los que van llegando se van quedando detrás del último que haya. Cuando el contador llega a 0 se vuelve a abrir, pasan todos los que hay esperando (siempre que sean menos de 1000), se vuelve a cerrar y el contador se vuelve a poner en 120. Y así sucesivamente.


No sé si he aclarado algo.


Saludos.
__________________
Be water my friend.
Responder Con Cita
  #15  
Antiguo 05-02-2025
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 863
Poder: 3
bmfranky Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Creo que estamos divagando con este tema más de la cuenta e igual lo estamos complicando. A ver... un ejemplo tontuno rollo lemmings :


Supongamos que tenemos un pasillo estrecho con una puerta. Al primero que llega se le abre la puerta, pasa y se cierra y al lado de la puerta hay una pantalla que dice 120, estos son los segundos que se ha respondido que faltan hasta que se vuelva a abrir. Todos los que van llegando se van quedando detrás del último que haya. Cuando el contador llega a 0 se vuelve a abrir, pasan todos los que hay esperando (siempre que sean menos de 1000), se vuelve a cerrar y el contador se vuelve a poner en 120. Y así sucesivamente.


No sé si he aclarado algo.


Saludos.
Si , pero ten en cuenta que si hay 1000 esperando, la puerta se abre sin necesidad que se acabe el tiempo.
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #16  
Antiguo 06-02-2025
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.215
Poder: 24
newtron Va camino a la fama
Cita:
Empezado por bmfranky Ver Mensaje
Si , pero ten en cuenta que si hay 1000 esperando, la puerta se abre sin necesidad que se acabe el tiempo.

Efectivamente querido Watson, el lemming número 1000 tiene la llave maestra y abre la puerta.
__________________
Be water my friend.
Responder Con Cita
  #17  
Antiguo 06-02-2025
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 863
Poder: 3
bmfranky Va por buen camino
Talking

Cita:
Empezado por newtron Ver Mensaje
Efectivamente querido Watson, el lemming número 1000 tiene la llave maestra y abre la puerta.
Pos sii...
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #18  
Antiguo 07-02-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.764
Poder: 7
ermendalenda Va por buen camino
Buenas, por si os pasa o quereis controlar esto:

He forzado un cambio de fecha(como si fuera accidental) a 1 mes futuro y me ha pasado esto (lógicamente):
-Respuesta Verifactu (No se puede mandar a fechas futuras)
Vuelvo a poner la fecha correcta, arreglo el desastre rectificando o subsanando(no lo he pensado aun)
-Mi control de flujos se queda en espera de que llegue de nuevo esa fecha/hora + el "t".

He cambiado el control de flujos que si la diferencia de tiempo es mas de 3600(negativos) lo ponga a positivo para que vuelva a enviar y grabo la nueva hora/fecha de ultimo envio.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Flujo de datos lccarvajal814 SQL 5 05-12-2022 17:00:33
Diagrama de flujo de los conspiranoicos rretamar La Taberna 2 03-12-2013 18:20:18
Variar control de flujo Puerto Serie bactering Varios 3 20-03-2011 23:22:28
Problema al cerrar un puerto COM con control de flujo vejerf OOP 1 25-07-2008 10:58:10
Problemas con la paridad y el control de flujo atapia Varios 1 18-09-2007 11:35:29


La franja horaria es GMT +2. Ahora son las 08:58:57.


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