Cita:
Empezado por richidemola
A ver, es que yo no genero el hash cuando se crea la factura, yo las facturas que se crean las almaceno en una base de datos y las marco como NO enviadas, luego hay un demonio que obtiene todas las facturas pendientes de enviar en orden de creación, por cada factura sin enviar encontrada obtengo el hash y los datos de la última factura de la base de datos que se envió, ya sea correcta, incorrecta o parcialmente correcta, entonces genero el hash de la factura que voy a enviar encadenandola con la última que se envió y la envío, luego asocio el hash que se ha generado a la factura que acabo de enviar y la marco como enviada si no ha dado error, si ha dado error no se marca como enviada para que pueda volver a enviarse una vez corregida y cuando se vuelve a enviar el hash y los datos de factura que se obtienen son las de la última que se envió, y así sucesivamente, no genero un nuevo registro de factura cuando una factura es rechazada, simplemente actualizo su hash con el que le corresponda en función de la última factura que se envió que coincide con el último hash generado y enviado, yo creo que mi sistema vale también porque cada factura se encadenan siempre con la última factura generada, aunque sea el reenvio de una factura que tenía errores.
Por que si no vale me toca generar el hash al crear la factura usando el hash de la última factura que se generó para el encadenamiento, que tampoco es un problema pero me toca la moral modificar todos los archivos donde se generan facturas.
|
Pues lo estás haciendo mal...
-El hash se genera en el momento de la creación, no sirve que lo haga el demonio en el momento que va a enviar.
Cita:
|
no genero un nuevo registro de factura cuando una factura es rechazada, simplemente actualizo su hash
|
-Esto es incorrectísimo! estás rompiendo la trazabilidad del encadenamiento. Una factura puede tener 10 registros de facturación y tienes que guardarlos todos, no puedes sobrescribir