Query para calcular un inventario

01/09/2008 - 11:58 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.
 

Leer las respuestas

#1 ham978
01/09/2008 - 14:55 | Informe spam
Esta query te peude servir 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,
CAST(DATEDIFF(day,0,[Fecha Recibido]) AS DATETIME),[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

Preguntas similares