Access - Ayuda de logica para control de inventarios

 
Vista:

Ayuda de logica para control de inventarios

Publicado por Berenice (84 intervenciones) el 25/04/2007 19:43:26
Buenos dias a todos…

Tengo un problema de logica y de programacion, para manejar el control de inventarios de materia prima de la empresa….Ya de plano me bloquie, por eso les pido ayuda… Por favor!!!

Les planteare mi tormento:

Todo mi sistema de manufactura esta hecho en Access, una de las secciones es la de recepcion de materia prima, en la cual se da de alta la materia prima que ingresa a almacen… Esta tabla se llama "MATERIAL RECIBIDO" y tiene los siguientes campos:

Folio -- Es autonumerico
No.Lote –Es numerico, el usuario lo captura, este dato ya viene indicado en el producto
No. Parte – Es de tipo texto, el usuario lo elige de un combo en el cual se muestran todos los numeros de parte que puedan llegar, y selecciona el que ha llegado a almacen.
Cantidad – Es numerico, el usuario lo captura, indica cuanta cantidad llego de ese No. de Parte

Estos datos tambien los grabo en otra tabla con la misma estructura, se llama ”Material Recibido Aux” para posteriormente llevar el control de inventarios.

Hasta aquí todo bien….

Hay otra seccion del sistema, en la cual se hacen las Works Orders (WO), o mejor dicho “Ordenes de Trabajo”, esto se realiza cuando un cliente pide que le fabriquemos un producto, en esta WO se especifica que producto quiere el cliente y la cantidad que necesita…. Una vez que se da esa información al sistema, se debe de calcular cuanta materia prima se necesita para cubrir esa WO…

Por ejemplo:
Tabla: WO

# WO Poducto Cantidad
WO-001 WTL-01 1000

Con esta información que nos da la WO podemos ir a ver que se necesita para ensamblar ese Producto:

Por ejemplo para ensamblar el producto WTL-01 se necesitan
Tabla: Raw Mat Productos

Producto No. Parte Cantidad
WTL-01 NC-001 15
WTL-01 NC-002 2
WTL-01 NC-098 5
WTL-01 TL-O45 1

Lo que significa que para satisfacer esa WO sera necesario que utilice:

WTL-01 NC-001 15 X 1000 =15000 pzas.
WTL-01 NC-002 2 X 1000 = 2000 pzas
WTL-01 NC-098 5 X 1000 = 5000 pzas
WTL-01 TL-O45 1 X 1000 = 1000 pzas


Hasta ahi todo bien tambien…

Mi problema esta cuando tengo que ir a descontar esas piezas del inventario, ya que se deben descontar por lotes, es decir que si necesito 1000 pzas. de un No. de parte, debo de usar las del lote mas antiguo y si no me alcanzan de ese lote, debo tomar el que le sigue, asi sucesivamente hasta que se satisface la cantidad de ese No. de Parte . Para esto estoy considerando usar mi tabla ”Material Recibido Aux”.

Ahora ejemplificare el problema con la tabla que contiene toda la materia prima (No. Parte) con la que dispongo para satisfacer las WO , notese que estoy usando la tabla auxiliar y no la tabla de ”Material Recibido”, ya que en esta tabla solo quiero llevar el control de entradas y nunca eliminarlas, y por el contrario en la tabla Auxiliar ahí llevare el control del inventario…(o si tienen una sugerencia mejor, la acepto) :

Tabla: "MATERIAL RECIBIDO AUX"

Folio No.Lote No. Parte Cantidad
001 150 NC-001 10,000
002 172 NC-002 3,000
003 194 NC-098 7,000
004 201 NC-045 1,000
005 225 NC-001 4,000
006 236 NC-001 2,000

Recuerden para satisfacer esa WO sera necesario que utilice:

WTL-01 NC-001 15 X 1000 =15000 pzas.
WTL-01 NC-002 2 X 1000 = 2000 pzas
WTL-01 NC-098 5 X 1000 = 5000 pzas
WTL-01 TL-O45 1 X 1000 = 1000 pzas

Entonces cuando yo aloque el material (significa que el material se asigna a la WO en cuestion) ese material se debe de descontar de mi inventario.

Por lo tanto después de que yo aloque el material mi tabla “MATERIAL RECIBIDO AUX” debe quedar de la siguiente manera:

Folio No.Lote No. Parte Cantidad
002 172 NC-002 1,000
003 194 NC-098 2,000
006 236 NC-001 1,000

Por que quedo asi? Por que para satisfacer esa WO fue necesario que tomara:
Los 10,000 productos que habia del NC-001 del lote 150, mas los otros 4000 que habian en el lote 225 y otros 1000 del lote 236, por lo tanto solo quedaron 1000 del lote 236 de ese No de Parte…. Asi sucesivamente con cada uno de los No. de Parte, obviamente esto es mas facil cuando el lote mas antiguo satisface la cantidad que necesito…Pero eso rara vez se cumplira, asi que debo analizar todos los casos…

Como le puedo hacer para que mi tabla “MATERIAL RECIBIDO AUX” se actualize cada vez que se aloque el material?

Por favor!!!!!!

Muchas gracias de antemano…
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda de logica para control de inventarios

Publicado por Enrique (1299 intervenciones) el 28/04/2007 15:54:19
Hola Berenice:
Tu problema no creo que sea dificil de resolver, pero después de leer tu mensaje (este y el que me has enviado a mi correo), no me queda claro del todo debido a la cantidad de campos que intervienen. Si te parece, envíame una mdb solo con las Tablas y Formularios implicados en el problema y con algunos datos en dichas Tablas, e intentaré darte una solución lo antes posible.

Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda de logica para control de inventarios

Publicado por Berenice (84 intervenciones) el 28/04/2007 17:05:03
Enrique:

Gracias por responder a mi nota, fijate que ya resolvi mi problema, y realmente no era tan dificil, mas bien era que estaba confundida con el proceso en si, pero despues de analizarlo con manzanitas lo entendi ;-)

Muchas gracias!

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda de logica para control de inventarios

Publicado por Angela (1 intervención) el 16/01/2013 21:50:07
Hola Berenice, fíjese que yo estoy desarrollando un sistema de control de inventario en PHP y me he encontrado con el mismo problema que mencionaba Ud. aquí. Lo de ir descontando del lote más antiguo las cantidades solicitadas.

Podría ayudarme y decirme la lógica que siguió a nivel de programación para solvenarlo??

Gracias por su ayuda.
Saludos cordiales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar