Hola a todos, cómo van??
Pues trataré de ser lo mas explicativo posible para que me den sugerencias de lo que necesito hacer.
Recursos del sistema
Php5
Postgres 8.2
Apache 2
Linux Red Hat
Resulta que hay un sistema ya funcionando(una intranet en caliente), pero funciona mal(me toca reprogramarlo). Dentro de ese sistema hay módulo que crea facturas y sus respectivos detalles... La manera como el sistema logra hacer eso me parece muy anticuada y mal estructurada, lo explico:
Proceso 1: Seleccionar el cliente
Para hacer la factura, el usuario en un primera pantalla selecciona el cliente al que quiere hacerle dicha factura y da en un botón "siguiente".
Creo que va el primer inconveniente, para esto el software lo que hace es que ingresa(insert into) en la DB (postgres) el cliente seleccionado con estado 0. Por qué inconveniente? porque si el usuario no termina el proceso, se sale... ya quedó un registro "basura" que lo único que hace es ocupar espacio en la DB...
Proceso 2: Ingresar el encabezado de la factura e ingresas los respectivos detalles
Ingresar el encabezado es que llenen ciertos campos, fechas, ubicación...
Al mismo tiempo se comienza a ingresar los detalles: producto, cantidad, precio(lo típico de los detalles de facturas). Para ingresarlos, el software se vale de un iframe:-p (por eso mi comentario de anticuado, yo lo haría con AJAX) que va haciendo un insert a la tabla detalle de la DB.
Creo que va el segundo inconveniente, hay casos en el que el usuario después de haber ingresado n cantidad de detalles, decide que no va a realizar la factura, entonces, fuera de que ya se hizo un insert en la tabla encabezado, se hace también n insert en la tabla detalle quedando mas "registros basura" en la DB
Proceso 3: Guardar la factura
Si se guarda la factura, lo que entra a hacer el sistema son puros UPDATE...
Depués de esta explicación viene mi pregunta, como sería una manera óptima de realizar este proceso?? Sin hacer insert inncesarios?? sólo hacerlos cuando den en guardar?
Espero me entiendan,
De antemano gracias!! Saludos