MySQL - Como calcular Entrada y Salidas correctamente

 
Vista:
Imágen de perfil de fr31ns
Val: 9
Ha aumentado su posición en 6 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Como calcular Entrada y Salidas correctamente

Publicado por fr31ns (3 intervenciones) el 23/10/2019 06:14:59
Buenas noches amig@s.

Soy nuevo en el foro y conozco muy poco las habilidades de MYSQL y estoy estudiando actualmente como solucionar un problema de como calcular mis entradas y salidas en mi sistema.

En mis entradas tengo 1 tabla de compras que hace referencia a compras internas y externas, en mi salidas tengo tablas de facturas y boletas cuando estoy tratando de mostras mis salidas y entraas no se como mostrar o jalar mis movimientos.

si pudieran ayudarme o damerme algunas luces para seguir investigando, se los agradeceria mucho, básicamente estoy usando código php y mysql.

Seleccion_020
Seleccion_021
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
Imágen de perfil de Francisco
Val: 184
Bronce
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Como calcular Entrada y Salidas correctamente

Publicado por Francisco (47 intervenciones) el 23/10/2019 22:58:42
Hola

Tienes que utilizar subquerys sobre cada producto

1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
 
    producto_id,
    producto_nombre,
 
    (SELECT SUM(internas + externas) FROM compras AS c WHERE c.producto_id = p.producto_id) AS entradas,
    (SELECT SUM(facturas + boletas) FROM ventas AS v WHER v.product_id = p.producto_id) AS salidas,
 
    (SELECT SUM(internas + externas) FROM compras AS c WHERE c.producto_id = p.producto_id) -
    (SELECT SUM(facturas + boletas) FROM ventas AS v WHER v.product_id = p.producto_id) AS stock
 
FROM
    productos As p;

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de fr31ns
Val: 9
Ha aumentado su posición en 6 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Como calcular Entrada y Salidas correctamente

Publicado por fr31ns (3 intervenciones) el 24/10/2019 05:59:58
Muchísimas gracias Francisco

estoy estudiando las subconsultas que me mencionaste, no lo había entendido de esa forma tu respuesta me ha ayudado ha ver las querys desde otro punto de vista.

ahora voy a tratar de entender las subconsultas y lo otro es contabilizar las veces que sale o entra una mercadería, estuve buscando en internet y lo que deseo hacer es un kardex es como se conoce en programación.

si tendras algunos link's que me puedas compartir sobre kardexs o mas subconsultas te agradeceria.
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
Imágen de perfil de fr31ns
Val: 9
Ha aumentado su posición en 6 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Como calcular Entrada y Salidas correctamente

Publicado por fr31ns (3 intervenciones) el 25/10/2019 03:13:42
Estimado Francisco;

ya pude generar mi consulta correcta.

1
2
3
SELECT  sum(cd.cantidad) as cantE, cd.id_producto, cd.producto
         FROM nueva_compra_detalle as cd INNER join nueva_compra as c ON
         c.n_factura=cd.compra_n_factura  GROUP by cd.id_producto, cd.producto

pero tengo una duda mas porque no se me ocurre o no me ordeno como poder sumar una tabla mas a esta consulta, es decir mis entradas son de compras internas o externas y eso si esta perfecto, pero tengo muchas dudas como completar la consulta al incluir la tabla "traslados" que es una tabla donde tambien le llegan mercadería y tiene otra arquitectura.



Seleccion_024


He creado una tabla aparte que es donde se recibe los traslados de items o productos de otros puntos, y estos no se estan contabilizando como entradas cuando llegan al usuario.

me podrias dar una idea por favor.




Seleccion_026
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
Imágen de perfil de Francisco
Val: 184
Bronce
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Como calcular Entrada y Salidas correctamente

Publicado por Francisco (47 intervenciones) el 25/10/2019 15:40:31
Hola

Efectivamente la mejor manera de tratar estas cosas en usando un kardex

Como mínimo se compone de tres tablas la del kardex mismo, la maestra de conceptos que mueven el kardex y la maestra de almacén
y claro la que relaciona con productos

Entonces:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
KARDEX
======
ID => Autonumerico es la PK
FECHA_KDX => La fecha cuando se hizo el registro en el kardex
PRODUCTO_ID => Relaciona con la mestra de productos
ALMACEN_ID => Relaciona con la maestra de almacenes
CANTIDAD => La cantidad que productos que se movieron
COSTO => El precio o costo del producto
DOCUMENTO => Se refiere al documento que dio origen al movimiento
CPTO_KDX_ID => Relaciona el tipo de movimiento aplicado
 
Ejemplo
=======
ID FECHA_KDX  PRODUCTO_ID ALMACEN_ID CANTIDAD COSTO DOCUMENTO CPTO_KDX_ID
-------------------------------------------------------------------------
 1 25/09/2019         100          1      100  1000 INICIAL             1
 2 26/09/2019         100          2       50  1000 ST-123456           7
 3 26/09/2019         100          3       25  1500 FC-123456           6
 4 26/09/2019         100          3        1  1500 FC-123456           4
 5 26/09/2019         100          3        1  1500 FC-123456           4
 6 26/09/2019         100          3        1  1500 FC-123456           4
 7 27/09/2019         100          3        1  1500 NC-123456           5
 8 27/09/2019         100          1      200  2500 CO-123456           2
 
ALMACEN
=======
ID => Autonumerico
DENOMINACION => La denominacion del almacen
 
Ejemplo
-------
1, ALMACEN PRINCIPAL
2, ALMACEN SUCURSAL A
3, PISO DE VENTAS A
4, ALMACEN SUCURSAL B
5, PISO DE VENTAS B
 
CONCEPTOS_KARDEX
================
ID => Autonumerico es la PK
TIPO_MOV => Solo define si es para [E]ntradas o [S]alidas del Kardex
DENOMINACION => La denominación como lo ver el usuario
 
Ejemplo
-------
1, E, STOCK INICIAL
2, E, COMPRAS
3, S, DEVOLUCION EN COMPRAS
4, S, VENTAS
5, E, DEVOLUCION EN VENTAS
6, E, ENTRADAS POR TRASLADO
7, S, SALIDAS POR TRASLADO


En resumen por cada movimiento que hagas en el detalle de compras, ventas, tralados, etc, se refleja un movimiento en el kardex
Generalmente esto se hace por TRIGGERS en la BD y claro falta el metodo de valoracion del inventario entre otros

Referencias
http://empresayeconomia.republica.com/aplicaciones-para-empresas/kardex-que-es.html
http://manejodelkardex.blogspot.com

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