Vamos a analizar a partir de ahora y en los proximos post, un sistema de control de existencias, y porque en varios post, y no solo uno.
Pues bien, no se trata de hacer un culebrón con este articulo, ya que lo que pretendo es finalizar cada ejemplo en cada uno de los articulos. Se trata de realizar varios ejemplos en base a diferentes analisis para cubrir varias posibilidades.
Y en este primer articulo vamos a ver como realizar el calculo de existencias cuando trabajamos con un almacén, que seria el caso mas sencillo que se nos va a presentar en cualquier aplicación de gestión.
Bueno, es falso, en realidad el ejemplo mas sencillo, seria no tener que controlar el stock
, pero en ese caso, este articulo no tendria ningún sentido.
¿Que necesitamos para realizar este ejercicio?
Pues basicamente, 3 tablas:
- La tabla de Productos,
- La tabla de Albaranes (Documentos de venta y/o de compra)
- Y la tabla de Movimientos (Lineas de documentos)
- Si utilizamos la misma tabla para movimientos de compra y de venta, entonces, tambien necesitaremos una tabla estatica para diferenciar el tipo de movimiento a realizar, aunque también podriamos usar otros metodos para resolver ese problema.
Ahora que ya conocemos la estructura de nuestra aplicación, ¿cual es el siguiente paso?
Algunos se estaran preguntando, ¿y la tabla de entidades?, ¿donde está?, ¡vaya ejemplo de gestión!, pero es que, para este ejemplo, la tabla de entidades no pinta absolutamente nada, y como no nos resulta útil, he decidido prescindir de ella y centrarnos solo en lo verdaderamente importante: los productos y su stock.
Ahora que ya he dejado claro este punto, seguimos con el ejemplo, el siguiente paso.
La tabla estatica, solo necesita 2 valores, “C” para compras y “V” para ventas. Y en la tabla de Lineas de documentos, debemos crear un enlace a la tabla estatica, para conocer el tipo de cada una de las operaciones realizadas.
Debemos crear las relaciones entre tablas, y aunque puede haber preferencias al elegir el tipo de tabla, el esquema quedara asi. La tabla de movimientos puede ser maestra con un enlace a “Documentos” o tambien submaestra de “Documentos” , pero eso depende de cada uno.
El calculo del stock, lo vamos a realizar directamente en la tabla de Productos, con un campo numérico para acumular el resultado.
Y para obtener dicho acumulado, solo necesitamos crear una “actualización” en la tabla de “Lineas de documentos”, sobre el campo enlazado a la tabla maestra de “Productos”.
Para finalizar el ejercicio, solo debemos indicar el modo de actualizar “ACUMULAR”, y en la Formula: ¿que?
En la formula bastaria una función:
choose( #TIPO=”C” , #CANTIDAD , – #CANTIDAD)
que en castellano, viene a significar:
Si el movimiento es una Compra, “Suma” el campo #CANTIDAD y si no lo es, “Resta” el campo #CANTIDAD.
Clarito.. clarito…. Que manera de resumir un proceso de almacenaje…. de mayor como tu…
Buen trabajo.
Por cierto, si puedes podrÃas actualizar en tus enlaces el mÃo ya que cambió hace tiempo por http://vconsultor.com
Gracias
@Geproin
Las cosas sencillas, se entienden mucho mejor.
Podria haber escrito 20 folios para decir lo mismo, pero al final, yo habria perdido mas tiempo en escribirlo, y vosotros en leerlo y seguramente, no habriais entendido nada.
@ Mario
Gracias a vosotros por seguir mi trabajo, ya he actualizado tu enlace.
Gracias por tu esfuerzo y por compartirlo, Jose Luis.