Ver Mensaje Individual
  #7  
Antiguo 05-03-2025
Avatar de morta71
morta71 morta71 is offline
Miembro
 
Registrado: may 2006
Ubicación: Girona - España
Posts: 33
Reputación: 0
morta71 Va por buen camino
Cita:
Empezado por CarlosMz Ver Mensaje
Muchas gracias por compartir tu forma de hacerlo, una pregunta ¿por qué has creado una tabla envíos a parte y no envías directamente la tabla al uso que comentas?
En la tabla de envíos guardo el xml de la request y la response completa a la AEAT, el csv (igual lo quito de la tabla de registros), el estado del envío total, fechaHora del envío y tiempo de espera que contesta la AEAT.

De esta manera tengo cada registro individual en una tabla, y un registro de los envíos y respuestas que me permitiría, llegado el caso, realizar un análisis más exhaustivo sobre cómo ha ido un envío determinado.

La forma más simple y que lleva menos trabajo de programación que he encontrado es:

- Se emite la factura y se emite un evento de envío de registros a la AEAT, que se gestiona de forma asíncrona, a través de un demonio (systemd en Linux, programo en PHP).

- El proceso asíncrono genera la request completa del envio de todas las facturas pendientes, y recibe la response de la AEAT. Con esa información completo los campos necesarios de la tabla de registros de facturación, y emito un correo al cliente/administrador indicando el resultado del proceso (éxito, rechazo, fallo)

De momento todo corre perfecto, pero de aquí a julio puede que simplifique/reduzca algo las tablas. Pero de momento, prefiero guardar toda la información posible.

De esta manera en la consulta de factura se muestra el/los envíos que se hayan realizado (alta/anulación, alta/subsanación error,...), con la info de CSV, estado (Aceptado...), fechaHora de generación, fechaHora de envío, error si lo hay (y enlace para subsanar), y se puede descargar el XML del registro individual del envío y el XML del envío completo.
Responder Con Cita