Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/05/2016, 10:29
antonio_dsanchez
 
Fecha de Ingreso: abril-2015
Mensajes: 130
Antigüedad: 9 años
Puntos: 0
consulta de inventario por hora y fecha

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.
Código SQL:
Ver original
  1. /* Select * From [dbo].[OWTR] T0 */
  2. DECLARE @FecIni DateTime
  3. DECLARE @FecFin DateTime
  4. DECLARE @HorIni INT
  5. DECLARE @HorFin INT
  6. /* Where */
  7. SELECT @FecIni /* T0.[DocDate] */= '[%0]'
  8. /* And */
  9. SELECT @FecFin /* T0.[DocDate] */= '[%1]'
  10. /* And */
  11. SELECT @HorIni /* T0.[DocTime] */= '[%2]'
  12. /* And */
  13. SELECT @HorFin /* T0.[DocTime] */= '[%3]'
  14.  
  15.  
  16. SELECT DISTINCT T.ItemCode, T.ItemName,
  17.  
  18.  
  19. A.OnHand +
  20. IsNull((SELECT SUM(B.Quantity)
  21. FROM [dbo].RPD1 B INNER JOIN [dbo].ORPD A2 ON B.DocEntry = A2.DocEntry
  22. WHERE B.ItemCode=T.ItemCode AND A2.DocDate BETWEEN @FecIni AND @FecFin AND A2.DocTime BETWEEN @HorIni AND @HorFin AND A2.Canceled='N'),0) +
  23. ISNULL((SELECT SUM(Y.Quantity)
  24. FROM [dbo].OWTR X INNER JOIN [dbo].WTR1 Y ON Y.DocEntry=X.DocEntry
  25. 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',
  26.  
  27.  
  28.  
  29.  
  30. IsNull((SELECT SUM(B.Quantity)
  31. FROM [dbo].PDN1 B INNER JOIN [dbo].OPDN A1 ON B.DocEntry = A1.DocEntry
  32. 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',
  33. IsNull((SELECT SUM(B.Quantity)
  34. FROM [dbo].RPD1 B INNER JOIN [dbo].ORPD A2 ON B.DocEntry = A2.DocEntry
  35. 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',
  36. ISNULL((SELECT SUM(Y.Quantity)
  37. FROM [dbo].OWTR X INNER JOIN [dbo].WTR1 Y ON Y.DocEntry=X.DocEntry
  38. 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',
  39. A.OnHand AS 'Inventario'
  40. /*ISNULL((SELECT SUM(Y.Quantity)
  41. FROM [dbo].OIGE X INNER JOIN [dbo].IGE1 Y ON Y.DocEntry=X.DocEntry
  42. 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'*/
  43. FROM OITM T INNER JOIN OITW A ON T.ItemCode = A.ItemCode
  44. WHERE T.SellItem = 'N' AND T.PrchSeItem = 'Y' AND A.WhsCode = 'MP'
  45. GROUP BY T.ItemCode, T.ItemName,A.OnHand
  46. ORDER BY T.ItemCode

Última edición por gnzsoloyo; 10/05/2016 a las 10:46 Razón: Horrible código sin etiquetar. Usar HIGHLIGHT, por favor...