Skip to Content
0
May 10, 2016 at 02:23 PM

consulta de inventario por hora y fecha

639 Views

Buenos días foro

estoy realizando una consulta para sacar mis inventarios y movimientos por hora y por fecha.

ya tengo la consulta la cual si me muestra los movimientos. pero por ejemplo si quiero saber los movimientos de las 22:00 horas asta las 7:30 horas me manda cantidades en 0 y si las hago de las 7:30 a las 22:00 horas si me las da.

es decir cuando selecciono un rango de un solo día si me muestra los daos pero si selecciono un horario que comienza en un día y termina en el siguiente no me muestra nada.

esta es mi consulta.

/* Select * From [dbo].[OWTR] T0 */

Declare @FecIni DateTime

Declare @FecFin DateTime

Declare @HorIni Int

Declare @HorFin Int

/* Where */

select @FecIni /* T0.[DocDate] */= '[%0]'

/* And */

Select @FecFin /* T0.[DocDate] */= '[%1]'

/* And */

Select @HorIni /* T0.[DocTime] */= '[%2]'

/* And */

Select @HorFin /* T0.[DocTime] */= '[%3]'

SELECT DISTINCT T.ItemCode, T.ItemName,

A.OnHand +

IsNull((SELECT Sum(B.Quantity)

FROM [dbo].RPD1 B INNER JOIN [dbo].ORPD A2 ON B.DocEntry = A2.DocEntry

WHERE B.ItemCode=T.ItemCode AND A2.DocDate BETWEEN @FecIni AND @FecFin and A2.DocTime BETWEEN @HorIni and @HorFin and A2.Canceled='N'),0) +

ISNULL((SELECT SUM(Y.Quantity)

FROM [dbo].OWTR X INNER JOIN [dbo].WTR1 Y ON Y.DocEntry=X.DocEntry

WHERE Y.ItemCode=T.ItemCode AND X.DocDate BETWEEN @FecIni AND @FecFin AND DocTime BETWEEN @HorIni and @HorFin and Y.FromWhsCod = 'MP' AND Y.WhsCode = 'WIP'),0)as 'stock historial',

IsNull((SELECT Sum(B.Quantity)

FROM [dbo].PDN1 B INNER JOIN [dbo].OPDN A1 ON B.DocEntry = A1.DocEntry

WHERE B.ItemCode=T.ItemCode AND A1.DocDate BETWEEN @FecIni AND @FecFin and A1.DocTime BETWEEN @HorIni and @HorFin and A1.Canceled='N'),0) as 'Entradas de Mescancia',

IsNull((SELECT Sum(B.Quantity)

FROM [dbo].RPD1 B INNER JOIN [dbo].ORPD A2 ON B.DocEntry = A2.DocEntry

WHERE B.ItemCode=T.ItemCode AND A2.DocDate BETWEEN @FecIni AND @FecFin and A2.DocTime BETWEEN @HorIni and @HorFin and A2.Canceled='N'),0) as'Devoluciones',

ISNULL((SELECT SUM(Y.Quantity)

FROM [dbo].OWTR X INNER JOIN [dbo].WTR1 Y ON Y.DocEntry=X.DocEntry

WHERE Y.ItemCode=T.ItemCode AND X.DocDate BETWEEN @FecIni AND @FecFin AND DocTime BETWEEN @HorIni and @HorFin and Y.FromWhsCod = 'MP' AND Y.WhsCode = 'WIP'),0)as 'Cantidad Entregada',

A.OnHand as 'Inventario'

/*ISNULL((SELECT SUM(Y.Quantity)

FROM [dbo].OIGE X INNER JOIN [dbo].IGE1 Y ON Y.DocEntry=X.DocEntry

WHERE Y.ItemCode=T.ItemCode AND X.DocDate >=@FecIni AND X.DocDate<= @FecFin and Y.WhsCode = 'WIP' AND Y.AcctCode = '1200.2.1' AND X.Comments LIKE '%Nº-OT%'),0) as'Cantidad Consumida'*/

FROM OITM T Inner JOin OITW A on T.ItemCode = A.ItemCode

where T.SellItem = 'N' and T.PrchSeItem = 'Y' AND A.WhsCode = 'MP'

GROUP BY T.ItemCode, T.ItemName,A.OnHand

ORDER BY T.ItemCode