Cita:
Empezado por ISCOPYME
Buenos días. Es más o menos como dice Jarogo08 en su mensaje.
Básicamente se trata de tener la estructura del xml que envía en tablas, es decir, cuando creo una factura, se crea un registro de facturación. Cuando se crea el registro de facturación se va a ver si hay alguna "cabecera" pendiente de enviar, o que no ha llegado a 1000 registros, o que no esté bloqueada, enviada, etc... si no la hay, la crea y al mismo tiempo crea el detalle de la cabecera con él mismo. Por tanto tengo una estructura master-detail de cabeceras y registros de facturación asociados. Esto no cambia nunca, ya está creado, lo envíes o no. Luego el servicio se encarga de buscar la primera cabecera libre, la bloquea, crea el SOAP y la envía. Si hay error simplemente se deshace el bloqueo de la cabecera y vuelta a empezar cuando toque. Si no hay error se actualizan la cabecera y los registros enviados con la contestación de aeat. La aplicación principal consulta periódicamente si hay registros de facturación marcados como rechazados o aceptados con errores y muestra una notificación o señal de alarma en la pantalla principal. Así el usuario ya sabe que tiene registros de facturación por solucionar. Cuando solucionas uno, se crea de nuevo un registro de facturación que sigue el mismo procedimiento.... La resolución de los registros marcados como errores, se puede hacer en un momento, una semana después o cuando uno pueda y se tenga solución para ello. Por cierto, el servicio marca como incidencia todo registro que desde que se creó hasta que se envía hayan pasado más de 120 segundos.
Espero haber aclarado tus dudas.
Un saludo.
|
Si, veo que lo tienes controlado
Aunque aún veo dudas, lo de marcar todos los registros no es muy necesario, ya que si marcas 1, ya el resto tienen que enviarse como incidencia en el mismo bloque si no ha llegado a 1000, ya se hayan pasado del tiempo o no, ya que es el encabezado eel.envio el que indica la incidencia
Saludos