|
Responder ![]() |
Autor | |
mercuchito ![]() Habitual ![]() ![]() Unido: 30/Agosto/2012 Localización: Colombia Estado: Sin conexión Puntos: 59 |
![]() Enviado: 21/Abril/2015 a las 19:09 |
buenas a todos... y gracias de antemano por toda la ayuda recibida.
Actualmente estoy realizando una base de datos de inventarios, pero me he topado con varios problemas al momento de hacerlo multi- bodega, haber y explico lo mejor posible. tengo una tabla de Bodega categoría, una de productos, una tabla de entrada , una tabla de salida y una tabla de ubicaciones Cada bodega, tiene unas estibas en la cual se almacena el producto. la cual debe ser identificada, muestro cual debería ser la estructura Bodega Ubicación Entradas de productos Salidas de productos Stock inventario tengo una relación de una a varios bodega - ubicación tengo una relación uno a varios entradas - productos - salidas mediante una consulta realizo en entradas que aquellos productos que Cant_entrar sea Null le de un valor a 0. por lo que me muestra el listado de productos aunque no tengan entrada, de la misma manera lo realizo con la consulta de salida. una ves tengo el listado de productos entrada y salida... realizo una consulta de suma para cada una y después realizo una consulta de las suma entradas - sumas de salida para mostrar el stock por productos. el problema esta en que no logro o no se como puedo hacer para identificar las entradas y salidas y el stock por cada ubicación de cada bodega, alguna idea de como puedo relacionar y que consultas debo hacer para me muestre el inventario.. de acuerdo a la ubicación de la bodega correspondiente. |
|
..... y estoy a la orden
|
|
![]() |
|
E. Feijoo ![]() Moderador ![]() Unido: 16/Abril/2004 Localización: España Estado: Sin conexión Puntos: 19948 |
![]() |
En teoría las entradas y salidas deberían poder identificarse por combinaciones de datos que pudieran conformarlos como conjuntos únicos.
Si en una de las tablas (por ejemplo la de entradas) hubiera estos campos: Id_Ubicacion <== se supone que será una de las bodegas Id_Producto <== sus detalles estarían en la tabla que definiese a los productos Fecha <== La fecha en que se efectúa el apunte Cantidad <== el numero de unidades ???? <== mas campos Un simple filtrado por el concepto ID_Ubicacion solo devolvería los de ese almacén en particular y el resto seria similar, supongo que una simple consulta de datos agrupado (se agruparía por ID_Producto) sumando las entradas y restando las salidas (o lo que es lo mismo, sumar las entradas con las salidas multiplicando estas por menos uno) |
|
![]() |
|
mercuchito ![]() Habitual ![]() ![]() Unido: 30/Agosto/2012 Localización: Colombia Estado: Sin conexión Puntos: 59 |
![]() |
el problema radica cuando hago la consulta de stock, ya que solo me muestra solo aquellos productos que tienen entradas y salidas... pero cuando solo tiene entradas... no me muestra el producto...
por ejemplo: si tengo una ubicacion A1 - A2 - A3 - B1 - B2 - B3... y si tengo un producto x almacenado en la ubicacion B1, un producto Y almacenado en B1 y un producto z almacenado en A1... y tengo salida del producto x de la ubicacion B1... no me muestra los demas productos... es como su existencia fuera Null... que puedo hacer |
|
..... y estoy a la orden
|
|
![]() |
|
indexdoc ![]() Moderador ![]() Unido: 22/Marzo/2005 Estado: Sin conexión Puntos: 2157 |
![]() |
Si los datos de entrada y salida son similares quizas puedas juntarlas y usar una sola tabla de "movimientos" marcando las salidas en negativo y entradas en positivo, lo que te pueda facilitar un poco el proceso. Siempre puedes tener una entrada inicial = 0 para forzar su participacion.
|
|
![]() |
|
E. Feijoo ![]() Moderador ![]() Unido: 16/Abril/2004 Localización: España Estado: Sin conexión Puntos: 19948 |
![]() |
No lo veo claro ...
Si se desea el inventario de una ubicación (pongamos que A1) no se que es lo que importan las existencias de A2, y si se desean las existencias globales, dependiendo de como este montada la estructura de la base o se utiliza una consulta de unión o no se aplican filtros y listo. Al respecto de que 'salgan todos' independiente de que existan movimientos, basta el utilizar como referente la tabla de productos 'y contra esta' se asocian (vinculan) las de salidas y entradas, una correcta relación mostrara TODOS los productos y movimientos asociados, después y a conveniencia se filtrarían los que no interesen (por no tener movimientos en el periodo, por ejemplo). Hay que partir de que una relación que se crea en una consulta, solo 'existe' cuando la consulta esta en ejecución y no afecta a las reales que hubiere en las tablas, es mas, se pueden borrar/modificar (en la consulta) las que tengan por defecto y no pasaría nada (con la única excepción de que se cumplan las reglas de integridad) |
|
![]() |
|
mercuchito ![]() Habitual ![]() ![]() Unido: 30/Agosto/2012 Localización: Colombia Estado: Sin conexión Puntos: 59 |
![]() |
Gracias Creo que no tengo bien estructurada la base de datos... porque cuando manejaba inventario, solo lo hacia para manejar entradas y salidas en una sola bodega, sin estanterías.
me interesa 2 cosas, primero la existencia global x bodega, y segundo la existencia por estantería de cada bodega como debería estructurar la base de datos? si quiero manejar las existencias por medio de consultas, ¿tengo que aplicar una consulta de unión? gracias por atender mi caso... estoy totalmente bloqueado, ya que no se como estructurar de esta forma anexo la base de datos… para que me comenten que estoy
haciendo mal https://onedrive.live.com/redir?resid=335e48f30faaafc0!356&authkey=!AMNdD-uoPvC79mY&ithint=file%2cmdb |
|
..... y estoy a la orden
|
|
![]() |
|
emiliove ![]() Administrador ![]() Unido: 16/Junio/2009 Localización: Mexico Estado: Sin conexión Puntos: 5361 |
![]() |
Yo Creo que tu debes desidir que tabla y como lo implementas por ejemplo a mi me gusta un ensayo de rokoko donde pone diferentes formas esta:
Y se llama Saber stock a fecha x y aviso . . . Miralo leelo y has los ejercicios de seguro te sirve. Saludos.
|
|
![]() |
|
mercuchito ![]() Habitual ![]() ![]() Unido: 30/Agosto/2012 Localización: Colombia Estado: Sin conexión Puntos: 59 |
![]() |
hola emiliove.
actualmente las consultas me trabajan de esa manera... ya que puedo determinar cuanto hay en stock por cada producto... pero a nivel global. mi problema radica, cuando quiero saber la existencia por estante... ya que no logro conmutar bien la consulta de stock de (entradas - salidas), si miras en la base de datos que adjunte la consulta con la cual presento el problema es (ubicaccion de CStock) http://onedrive.live.com/redir?resid=335e48f30faaafc0!356&authkey=!AMNdD-uoPvC79mY&ithint=file%2cmdb gracias quedo atento
|
|
..... y estoy a la orden
|
|
![]() |
|
Gadeus ![]() Habitual ![]() Unido: 27/Septiembre/2014 Localización: Hurlingham Estado: Sin conexión Puntos: 56 |
![]() |
Buenas Tardes: tengo un problema parecido al de Mercuchito, tal vez entre problema y problema llegamos a la solucion de ambos.
En mi caso es muy simple hasta que se diga lo contrario. tengo una Tbl_Articulo, Tbl_ENTRADA y Tbl_SALIDA, claro que la relacion que genere fue el COD_ART desde la Tbl_Articulo hacia COD_ ART para la ENTRADA y la SALIDA. Bien. Como puedo hacer que cuando vendo un producto SALIDA, o INGRESA el producto, me sume o reste en el stock presente de cada articulo?.... |
|
VE hacia adelante, a mas de 88mph!
|
|
![]() |
|
indexdoc ![]() Moderador ![]() Unido: 22/Marzo/2005 Estado: Sin conexión Puntos: 2157 |
![]() |
Prefiero no guardar campos calculados Como "Stock" a menos que sea super complicado o lento de obtener por que hay decenas de miles de movimientos. Piensa en Stock como un resultado de sumar todas las entradas y restar todas las salidas. Te evitas problemas de actualizacion y te permite encontrar el stock a cualquier fecha. Eso depende de la aplicacion y de las veces que necesites encontrar ese valor.
|
|
![]() |
|
mercuchito ![]() Habitual ![]() ![]() Unido: 30/Agosto/2012 Localización: Colombia Estado: Sin conexión Puntos: 59 |
![]() |
gadeus, ese paso que quieres ya esta solucionado, puedes tomar de ejemplo la base de datos que tengo, ahi te daras cuenta que hay una tabla de productos y hay al igual una tabla de entradas y una de salida....
lo que se hace en ese caso es 5 consultas, una consulta centradas, que te lista las entradas realizadas por productos... ten en cuenta que hay un campo condicional... donde me dice si el producto no tiene entrada = 0... lo mismo para la salida.. luego una consulta con la sumatoria de entradas y una con sumatorias de salida.... por ultimo hay una consulta donde entradas - salidas = stock... y listo.. si ves tambien hay un modulo que te actualiza la existencia de la consulta de stock en la tabla de productos, campo existencia... mi recomendacion es que puedes tomar el formulario de salida... y agregarlo como subformulario en el formulario de factura... y al mismo formulario de factura... le coloques un procedimiento que al momento de salir... llame al modulo para que actualice la existencia... al momento de las entradas.. en el formulario de entradas... hacer lo mismo. mi problema radica es que si tengo varios estantes donde guardar la mercancia... me pueda dar la existencias de cada estante... |
|
..... y estoy a la orden
|
|
![]() |
|
Gadeus ![]() Habitual ![]() Unido: 27/Septiembre/2014 Localización: Hurlingham Estado: Sin conexión Puntos: 56 |
![]() |
Donde puedo conseguir ese archivito de muestra que mencionas?
|
|
VE hacia adelante, a mas de 88mph!
|
|
![]() |
|
E. Feijoo ![]() Moderador ![]() Unido: 16/Abril/2004 Localización: España Estado: Sin conexión Puntos: 19948 |
![]() |
Para que se pueda hacer un seguimiento veraz de las existencias por cada ubicación, se ha de crear la estructura adecuada que defina las diferentes ubicaciones, sea la ubicación un estante o un espacio físico definido dentro de ese estante.
Normalmente se acostumbra a utilizar un sistema de coordenadas (clásico: pasillo + fila + estante) y asi se define lo que pudiera haber en cada estante (dos o mas estantes ubicados en cualquier parte de cualquier fila y de cualquier pasillo pueden tener la misma mercancía). Eso implicaría que todos los productos que se manejasen en el almacén tendrían que llevar un campo mas que definiría su ubicación espacial, algo complicaría tanto a las entradas (al dar entrada a la mercancía habría que definir su ubicación) como a las salidas (se tendría que indicar de cual de sus posibles ubicaciones se toma el producto). El resto lo podría hacer Access, solo seria un dato mas (en esa consulta) que agrupase por ubicación. |
|
![]() |
|
raipon ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Moderador ![]() Unido: 10/Diciembre/2004 Localización: Desconocida Estado: Sin conexión Puntos: 4040 |
![]() |
Hola,
en la sección: 'Ejemplos de mis amigos' de la página web de -Marta-, hay un ejemplo: Formularios desconectados , de base de datos de inventario. Es un trabajo antiguo, hecho con la versión 2000, por lo que el código que contiene, a dia de hoy no tiene demasiado interes, pero la estructura que utiliza es un mix de las ideas que proponen indexdoc y E. Feijoo: una única tabla de movimientos (que facilita la creación de consultas) y las ubicaciones sistematizadas.
Saludos. |
|
![]() |
Responder ![]() |
|
Tweet
|
Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |