|
Yo tengo VeriFactu ejecutándose en un thread que tiene un timer y una propiedad de “PendienteEnvio” y “FechaNuevoEnvioAutorizado”.
Cuando genero una nueva factura marco el PendienteEnvio a True y si la fecha actual iguala o supera a la de FechaEnvioAutorizado hago el envío de todo lo pendiente. Leo el tiempo para el siguiente envío que me devuelve hacienda (en caso de error o no respuesta marco 60 segundos y espero ese tiempo con el timer.
Si transcurrido el tiempo la variable de PendienteEnvio se ha vuelto a poner a True (porque se ha generado una o más facturas nuevas) se vuelve a hacer el envío y así sucesivamente.
Este proceso está semiautomatizado gracias al componente de seccion31, aunque el thread hay que currárselo. Evidentemente tiene que establecer su propia conexión independiente con la BD, que creo que puede ser el principal fallo cuando no estás habituado a los threads.
Con este sistema nunca se para ni interrumpe el trabajo del usuario con los envíos a VeriFactu, y nos ahorramos comprobaciones y envíos fuera de tiempo.
Adicionalmente, cuando hay algún envío pendiente, si intentas cerrar el programa te pide que esperes antes de cerrar para asegurarse de que se realiza el envío.
__________________
El recuerdo es la prisión en la que el alma sueña pasado, cuando no vive el presente, ni quiere un futuro.
|