Calcular inventario

01/09/2008 - 11:59 por Hamil | Informe spam
Estimados amigos espero que alguien me pueda ayudar con este problema.

1. Teniendo esta tabla donde estan todos los movimientos de almacen:

Mov Articulo Fecha_Mov Cantidad
1 a1 01/01/2008 10
2 a1 02/01/2008 -20
3 a2 03/01/2008 3
4 a3 04/01/2008 1
5 a4 05/01/2008 90
6 a5 06/01/2008 10
7 a1 07/01/2008 11
8 a4 08/01/2008 -75
9 a2 09/01/2008 -4
10 a2 10/01/2008 8

2. Analizando para el articulo "a1", calcularia el stock:

Mov. Articulo Fecha_Mov. Cant. Stock
1 a1 01/01/2008 10 10
2 a1 02/01/2008 -20 -10
3 a2 03/01/2008 3 -10
4 a3 04/01/2008 1 -10
5 a4 05/01/2008 90 -10
6 a5 06/01/2008 10 -10
7 a1 07/01/2008 11 1
8 a4 08/01/2008 -75 1
9 a2 09/01/2008 -4 1
10 a2 10/01/2008 8 1

RESULTADO:
Articulo: "a1"
Dias de ruptura: 05
Fecha Inicio Ruptura: 02/01/2008
Fecha Final Ruptura: 06/01/2008

Mi problema es la siguiente, tengo un promedio de 50 000 referencias
de articulo y con varias sucursales , generar un calendario para
calcular el stock son millones de registros.

Ayudeme amigos, alguien ha trabajado probablemente con inventarios y
ha tenido el mismo problema.

Saludos para todos y gracias por su ayuda.

Preguntas similare

Leer las respuestas

#1 UserSQL
01/09/2008 - 13:39 | Informe spam
Lo primero que tienes que hacer es calcular el stock para todos los
articulos y por empresa o sucursal, luego contar los valores <= 0,
creo que por algun lado he visto un post para calcular el stock.
Respuesta Responder a este mensaje
#2 UserSQL
01/09/2008 - 14:50 | Informe spam
Esta query creo que puede ayudarte para calcular el stock:

SELECT
Id_Empresa, Id_Articulo, F.Fecha, Stock_Fecha, Importe_Fecha,[Fecha
Recibido],'IT'
FROM
(
SELECT
id_Empresa,
Id_Articulo,
Fecha Recibido AS Fecha,
ISNULL(SUM(Cantidad),0) AS Stock_Fecha,
ISNULL(SUM(Importe_Almacen),0) AS Importe_Fecha,[Fecha Recibido]
FROM
[dbo].[v_inventtrans]

WHERE
[Fecha Recibido] < @Fecha_final + 1 -- and Id_Empresa='is'
GROUP BY
Id_Empresa,
Id_Articulo,
[Fecha Recibido]
) M
RIGHT JOIN Fn_Fechas(@fecha_inicio, @fecha_final) F
ON M.Fecha <= F.Fecha
WHERE
F.Fecha >= @fecha_inicio AND
M.Fecha = (SELECT MAX(Fecha Recibido)
FROM [dbo].[v_inventtrans]
WHERE Id_Empresa=M.Id_Empresa AND
Id_Articulo=M.Id_Articulo AND
[Fecha Recibido] <= F.Fecha) -- and
Id_Empresa='is'
ORDER BY
Id_Empresa, Id_Articulo, F.Fecha


Saludos

HelíCR
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida