Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/04/2008, 12:54
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Re: diseño base de stock

La estructura podria ser la siguiente:

TablaProductos
id, descripcion,...

TablaCompras
id,idProducto,Cantidad,....

TablaVentas
id,idProducto,Cantidad,...

VistaStock
idProducto,Producto,stock

Código:
CREATE VIEW VistaStock
    SELECT TablaProductos.id as idProducto,
             TablaProductos.descripcion as Producto,
             SUM(TablaCompras.Cantidad)-SUM(TablaVentas.Cantidad) as Stock
         FROM TablaProductos INNER JOIN 
               (TablaCompras INNER JOIN TablaVentas
                          ON TablaCompras.idProducto=TablaVentas.idProducto)
                             ON TablaProductos.id=TablaCompras.idProducto)
        GROUP BY TablaProductos.id, TablaProductos.descripcion;
Esto ademas te permitiria guardar mas info, como precio de compra, fecha de compra, proveedor, con lo que aplicando tecnicas contables (FIFO, LIFO, Precio medio...) podrias determinar el precio de coste de la venta, y en ventas precio de venta y fecha....

Siempre puedes hacer un proceso anual que ponga un primer registro en Compras con el stock inicial del año y asi trabajar con las compras y ventas del año, guardando las anteriores en tablas de historico....

Creo que me he pasado lanzando ideas....

Quim