Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/12/2013, 09:23
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: DUDA sistema de facturas

Cita:
Se me había ocurrido eso, lo veis factible?
Esto es un problema estandarizado, que por mas vueltas que le des, tiene una estructura de resolución mas o menos fija.
Lo primero que debes diferenciar es lo que es un "Pedido", de lo que es una "Factura".
Pedido es lo que emite el usuario o cliente, es decir, la lista de cosas que desea comprar y que se le entreguen. En este sentido, puede que se le fcturen (si hay existencias) o puede que no.
Normalmente esta lista tiene uso administrativo interno, y a pesar de parecerse a una factura en su estructura, no es lo mismo.
Un pedido tendría:
Cita:
PEDIDO( pedido_id, pedido_fecha, pedido_cliente_id)
DETALLE_PEDIDO(pedido_id, subitem_id, articulo_id, cantidad_art, estado)
El campo pedido_id en la segunda tabla es FK de Pedido, pero la PK de esta segunda tabla está compuesto de dos campos: el pedido_id y el subitem_id (este numerado de 1...n según sea la cantidad de items comprados).

La factura, por su parte podría referir a un único pedido (si fueran más, el esquema cambia), y requiere:
Cita:
FACTURA(factura_id, factura_fecha, factura_cliente, factura_pedido_id, factura_formapago, factura_descuentos, ...)
DETALLE_FACTURA(factura_Id, subitem_factura, articulo_id, cantidad, ...)
Aquí no pongo ni la tabla clientes, ni la deformas de pago, ni la de caja, ni tampoco stock, listas de precios, productos, ni ninguna otra.

Sólo estoy poniendo lo más básico, y como verás, no alcanza con dos tablas...

Este diagrama de tablas te puede dar una idea de por donde va la cosa:



Y vuelvo a aclarar: Ese es un esquema bien básico, teórico. La realidad, es decir, un sistema que realmente funcione comercialmente, es todavía mucho más complejo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)