|
| #3 |
 |
dantrix |
Usuario |
08 abr 08 (19:05) |
|
|
Hola Jurena,
gracias por el apoyo , puesa pesar de no entenderme tienes la intencion de aopyar, y no solo a mi sino a otras personas que estan en la pagina. yo siempre con el problema de no saber explicarme y/o de pensar que todos pensamos igual.
a ver, ahora si, voya a tratar de explicar lo mejor posible:
ASPECTO FUNCIONAL
las compras se formulan de acuerdo al stock (numero de productos), si el proveedor "A" viene los lunes(por ejemplo) para llenar los pedidos, ese dia a primera hora se tiene el listado del stock de todos los productos que vende el proveedor "A", teniendo en cuenta que los pedidos tardan en llegar de uno a dos dias. Por ejemplo el proveedor "A" vende los siguientes productos:
(stock al lunes en la mañana):
Producto Codigo cantidad(en u.f.) minimo(en u.f.)*
prod. a 100001 25 50
prod. b 100002 26 50
prod. c 100003 27 50
prod. d 100004 28 50
prod. e 100005 29 50
**u.f. = unidades fisicas, para estandarizar.
**u.fm = unidades monetarias, para estandarizar.
* el minimo no esta establecido, es decir, el dueño de la empresa segun su criterio elige cuanto es el minimo, pero para este caso, pongamos que para todos los productos es 50.
aca tambien las decisiones se toman al momento, por ejemplo, el producto a cuyo precio normal oscila entre 10.00 u.m. y 12.00 u.m, pero el proveedor nos menciona que si compramos 50 u.f. le da un precio de 7.00 u.m., se puede aceptar la condicion pues por cantidad puede resultar ventajoso. es por eso que se necesita tener un historial de los precios.
Pero digamos que no hay oferta y se pido lo que se encesita para un minimo que es de 25, 24, 23, 22,21 para los productos a, b, c, d y e respectivamente.
ok, el miercoles(2008-04-09 11:00:00 , por ejemplo) llega el pedido segun lo mencionado anteriormente(con factura F/. 0123456789), se almacena y se registra el ingreso en la tabla de movimientos de la siguiente manera:
En el index se dirige a la parte movimiento de mercaderia , se introduce la cantidad de productos a ingresar (en este caso 5) y el documento de referencia (la factura F/. 0123456789 ) y pinchamos el boton de ingreso.
en la siguiente pagina (/ingreso.php) nos aparecera 5 selects con sus respectivos campos de texto para la cantidad y costo de los productos, pinchamos aceptar, y saldra una pagina (/ingreso2.php) que procesa las operaciones y muestra el mensaje de "operacion satisfactoria".ingreso2.php realiza:
- un insert en la tabla mov por cada movimiento hecho, si se ingresa 5 productos, se tendra 5 nuevos registros:
"INSERT INTO mov (prd_ids, mov_qty, mov_cto, mov_flag, mov_date, mov_ref) VALUES ($id_prod, $cantidad, '$costo', '$tipo', '$fecha', '$ref')"
- un update* en la tabla productos de acuerdo al codigo del producto ingresado:
"UPDATE productos SET productos.prd_qty = productos.prd_qty + $cantidad WHERE productos.prd_id = $id_prod "
*si es que es salida hara una resta en ves de una suma.
para consultar el movimiento realizado, en el index, nos dirigimos a la parte kardex, y podemos ver los movimientos por producto introduciendo el codigo en el campo de texto,o podemos ver todos los movimientos dandole al vinculo "ver todo los movimientos". digamos que el movimiento anterior es el unico que tenemos, nos mostrara la siguiente tabla:
Fecha: Codigo: Cantidad: costo*: tipo**: Documento:
2008-04-09 11:00:00 100001 25 20.00 I F/. 0123456789
2008-04-09 11:00:00 100002 24 20.00 I F/. 0123456789
2008-04-09 11:00:00 100003 23 20.00 I F/. 0123456789
2008-04-09 11:00:00 100004 22 20.00 I F/. 0123456789
2008-04-09 11:00:00 100005 21 20.00 I F/. 0123456789
* el costo de los ingresos de mercaderia es obtenida de la factura.
** los tipos : I = ingreso , S = salida.
pasan dos dias, viernes (2008-04-11 13:00:00), por ejemplo, ahora queremos hacer una salida de mercaderia, pues se ha vendido en tienda y necesitamos reponer 15, 14, 13, 12 y 11 u.f. de los productos para los productos a, b, c, d y e respectivamente, para eso se ha realizado una orden de despacho (OD/.001), realizando el mismo procedimiento que para el ingreso, consultamos los movimientos realizados en el kardex y veremos:
Fecha*: Codigo: Cantidad: costo**: tipo: Documento:
2008-04-11 13:00:00 100001 15 S OD/.001
2008-04-11 13:00:00 100002 14 S OD/.001
2008-04-11 13:00:00 100003 13 S OD/.001
2008-04-11 13:00:00 100004 12 S OD/.001
2008-04-11 13:00:00 100005 11 S OD/.001
2008-04-09 11:00:00 100001 25 20.00 I F/. 0123456789
2008-04-09 11:00:00 100002 24 20.00 I F/. 0123456789
2008-04-09 11:00:00 100003 23 20.00 I F/. 0123456789
2008-04-09 11:00:00 100004 22 20.00 I F/. 0123456789
2008-04-09 11:00:00 100005 21 20.00 I F/. 0123456789
El total de Movimientos es :10
* esta ordenado por fecha, el movimiento mas reciente al comienzo
** como podran observar en la salidas no se coloca el costo pues no hay manera de saber con anterioridad.
En el index, realizamos un consulta al kardex para el producto a(ingresando en el campo de texto el codigo 100001), nos mostrara la siguiente tabla:
Fecha*: Codigo: Cantidad: costo**: tipo: Documento:
2008-04-11 13:00:00 100001 15 S OD/.001
2008-04-09 11:00:00 100001 25 20.00 I F/. 0123456789
Stock actual*: 10
El total de Movimientos es :2
*el stock actual es una consulta a la tabla productos:
SELECT prd_qty FROM productos WHERE prd_id = $criterio
Lo demas es de la tabla mov:
"SELECT * FROM mov WHERE prd_ids = $criterio ORDER BY mov_date DESC "
PROBLEMA
El problema que tengo es que no se como puedo hacer para gestionar el costo de los productos, algo para poder tener un stock valorizado, es decir me salga los 10 productos(para el producto con codigo 100001) y su costo actual.
--
Espero no haberte cansado o aburrido con toda la explicación, y gracias por leerme
|