Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Consulta sobre un diseño (https://www.clubdelphi.com/foros/showthread.php?t=91095)

Pancho_lp 10-11-2016 13:30:47

Consulta sobre un diseño
 
Buenas gente como andan? Hace mucho no pasaba por estos lados, tuve que hacerme un usuario nuevo y todo. En fin, les vengo con una consulta sobre parte del diseño de una base de datos que estoy implementando; tengo lo siguiente:
TABLAS: productos (idp, nombre), ingresos (id_ing, idp, cant, precioUnidad, addstamp), stock (idp, cant, sentido, id_tipo, destino, addstamp)
Resumi los campos de las tablas para mostrar puntualmente un problema que tengo, las tablas no respetan ésas estructuras. Me gustaría hacer incapié en lo siguiente: Necesito saber la plata que me cuesta cada producto Egresa de mi stock. Cuando registro ingresos, los hago a un precio por cada producto, luego de registrar el ingreso registro un alta (ej: sentido = Ingreso, id_tipo = 1 (alta), destino = NULL) a la tabla stock de la cantidad indicada en el ingreso para ése producto.
Aparte, en la tabla stock, registro prestamos de esos productos que compro (ej: sentido: Egreso, id_tipo = 2(baja por prestamo), destino = zzz, idp = X, cant = N), y bajas (ej: sentido = Egreso, id_tipo = 3 (baja perdida), destino: NULL, idp = X, cant = N).
La estructura de tabla stock es ésa, no se puede cambiar, y sobre ella registro altas y bajas independientemente los motivos.
Cuando yo registro un prestamo de un determinado producto y una cantidad, me gustaria saber lo que me esta costando ése préstamo. El problema lo tengo con las cantidades, es decir, yo tengo un ingreso de:
id_ingreso: 1, id_producto: 10, cantidad: 20, precioUnidad: $5, fecha....
id_ingreso: 2, id_producto: 10, cantidad: 10, precioUnidad: $15, fecha...
y un stock actual de 30 para ese producto, y necesito hacer un préstamo de 25. Ese prestamo va a tener un valor de (20x$5)+(5x$15) = $175, la cuestión es que para llevar un registro del costo que me lleva un producto, manteniendo esta estructura o esta visión del problema, se vuelve bastante costoso a nivel base de dato.
A alguien se le ocurre alguna idea... :confused:
Desde ya muchas gracias.
PD: Es muy probable que no haya sido claro al explicar el problema, cualqiuer cosa pregunten

movorack 10-11-2016 14:36:15

Cita:

Buenas gente! ¿Como andan?

Hace mucho no pasaba por estos lados, tuve que hacerme un usuario nuevo y todo. En fin, les vengo con una consulta sobre parte del diseño de una base de datos que estoy implementando.

Tengo lo siguiente:

TABLAS

PRODUCTOS
idp
nombre

INGRESOS
id_ing
idp
cant
precioUnidad
addstamp

STOCK
idp
cant
sentido
id_tipo
destino
addstamp

Resumí los campos de las tablas para mostrar puntualmente un problema que tengo, las tablas no respetan ésas estructuras. Me gustaría hacer hincapié en lo siguiente: Necesito saber la plata que me cuesta cada producto que egresa de mi stock.

Cuando registro ingresos, los hago a un precio por cada producto, luego de registrar el ingreso registro un alta (ej: sentido = Ingreso, id_tipo = 1 (alta), destino = NULL) a la tabla stock de la cantidad indicada en el ingreso para ése producto. Aparte, en la tabla stock, registro prestamos de esos productos que compro

SENTIDO ID_TIPO DESTINO IDP CANT
Egreso 2 - Baja por préstamo zzz X N
Egreso 3 - Baja por perdida NULL X N

La estructura de tabla stock es ésa, no se puede cambiar, y sobre ella registro altas y bajas independientemente los motivos.

Cuando yo registro un préstamo de un determinado producto y una cantidad, me gustaría saber lo que me esta costando ése préstamo. El problema lo tengo con las cantidades, es decir, yo tengo un ingreso de:

ID_INGRESO ID_PRODUCTO CANTIDAD PRECIOUNIDAD
1 10 20 5
2 10 10 15

Y un stock actual de 30 para ese producto, y necesito hacer un préstamo de 25. Ese préstamo va a tener un valor de (20x$5)+(5x$15) = $175, la cuestión es que para llevar un registro del costo que me lleva un producto, manteniendo esta estructura o esta visión del problema, se vuelve bastante costoso a nivel base de datos.

¿A alguien se le ocurre alguna idea?, Desde ya muchas gracias.

PD: Es muy probable que no haya sido claro al explicar el problema, cualquier cosa pregunten
La verdad no entendí muy bien cual es la duda.

dec 10-11-2016 14:42:59

Hola,

Cita:

Empezado por movorack (Mensaje 510599)
La verdad no entendí muy bien cual es la duda.

Es igual. Te mereces una medalla sólo por el trabajo de al menos hacer legible el texto. :)

Pancho_lp 10-11-2016 15:30:13

Cita:

Empezado por movorack (Mensaje 510599)
La verdad no entendí muy bien cual es la duda.

Primero si es diseño esta bien orientado para poder informar el costo que tiene cada producto, independientemente el tipo de baja. Para lo que es alta es fácil, pero si quiero saber el costo que tengo si doy de baja 100 unidades de X producto cuando tengo los siguientes ingresos:

TABLA INGRESOS:
Código:

ID_INGRESO  ID_PRODUCTO  CANTIDAD  PRECIO  FECHA
-----------------------------------------------------
1          1            5        $5    2016-11-07
2          1            15        $10    2016-11-08
3          1            10        $12    2016-11-10

Ni bien se registra el ingreso, en la taqbla stock se registran las cantidades
TABLA STOCK:
Código:

ID_REGISTRO  ID_PRODUCTO  CANTIDAD  TIPO      TRANSFERENCIA      FECHA
---------------------------------------------------------------------------
1            1            5        INGRESO  ALTA_COMPRA        2016-11-07
2            1            15        INGRESO  ALTA_COMPRA        2016-11-08
3            1            10        INGRESO  ALTA_COMPRA        2016-11-10

y si hago una baja de 27 unidades para el ID_PRODUCTO = 1. La tabla stock me queda asi
TABLA STOCK:
Código:

ID_REGISTRO  ID_PRODUCTO  CANTIDAD  TIPO      TRANSFERENCIA      FECHA
---------------------------------------------------------------------------
4            1            27        EGRESO    BAJA_POR_X_MOTIVO  2016-11-11

Ahora bien, quiero saber el costo que tiene las 27 unidades. Con que precio de unidad me quedo? ($5, $10, ó $12??)

luisgutierrezb 10-11-2016 19:08:52

Mas bien es como lo necesites, hay empresas que sacan el promedio del costo, hay empresas que utilizan el ultimo costo porque al tener que reponer el inventario es lo que mas probablemente van a pagar, hay empresas que el costo con el que entro es con el que sale, mas bien es lo que te pidan, si no te han dicho nada claro, pues podria ser el ultimo costo

Cañones 11-11-2016 15:54:50

Cita:

Empezado por luisgutierrezb (Mensaje 510618)
Mas bien es como lo necesites, hay empresas que sacan el promedio del costo, hay empresas que utilizan el ultimo costo porque al tener que reponer el inventario es lo que mas probablemente van a pagar, hay empresas que el costo con el que entro es con el que sale, mas bien es lo que te pidan, si no te han dicho nada claro, pues podria ser el ultimo costo

Como dice Luis, lo común es utilizar el precio de costo de la última compra.
Si ves que a futuro esto puede cambiar, lo mejor sería utilizar una tabla de costos históricos con relación del costo con el proveedor para comparativas de precios y fletes .... etc.
Pero todo esto lo mejor es que lo decida el cliente o quien lo solicita que en definitiva es el que tiene el requerimiento.
Saludos.


La franja horaria es GMT +2. Ahora son las 16:48:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi