cancel
Showing results for 
Search instead for 
Did you mean: 

inventario sin ventas en un rango de fecha

former_member671177
Participant
0 Kudos

Cordial Saludo

quisiera saber si existe un informe que me permita generar que productos del inventario tinen stock y costo pero no se han vendido en un rango de fecha establecido

Accepted Solutions (1)

Accepted Solutions (1)

former_member210784
Active Contributor
0 Kudos

Hola.

Intenta con el informe de inventario "Artículos inactivos". Se debe colocar una fecha de referencia desde la cual se comienza a contar si no tuvo movimiento.

Saludos.

former_member671177
Participant
0 Kudos

hola

ya lo hice pero ahi tiene encuenta las compras ventas ajustes, etc y el objetivo es que muestre solo el que se ha dejado de vender

muchas gracias

former_member210784
Active Contributor
0 Kudos

Hola.

Al ejecutar el informe muestra unos checks para los tipos de documentos de ventas, y es respecto a los que están chequeados y la fecha de referencia como muestra los artículos inactivos.

¿Qué versión de SB1, SP y PL tiene instlado?

Saludos.

former_member671177
Participant
0 Kudos

2007 A SP 01 PL 06

Los check para los tipo de documentos no los veo

former_member210784
Active Contributor
0 Kudos

Hola.

Después de generar el informe, cuando aparece el listado de artículos, arriba deben estar los checks.

También se puede utilizar el informe de operaciones de lotes y filtrar por los que tienen existencias > 0 y fecha de ingreso/producción inferior a alguna fehca de referencia.

Otra manera es crear un query que muestre esto de manera similar a como se generó el informe de lotes:

- Traer los campos requeridos de la tabla OIBT cuando la cantidad en stock sea mayor que cero y la fecha de ingreso (o fabricación también) del lote sea de uno o más años atras.

Por ejmplo, la siguiente consulta trae los lotes de cualquier artículo con existencias en inventario y cuya fecha de admisión se de hace un año o más:


SELECT *
FROM OIBT T0
WHERE DateDiff(day,T0.[InDate],GetDate()) >=360 AND T0.[Quantity] > 0

Saludos.

former_member671177
Participant
0 Kudos

Cordial Saludo

Muchas gracias por tu ayuda ya pude ver lo que me explicas pero no logro generar el informe que me piden porque en unos tengo una prate y en otro otra parte

como veo que eres un experto me tomo el atravimiento de pedirte el favor si me puedes ayudar

con el siguiente informe que lo requiere el area comercial

informe donde aparesca los items que tienen stock , que no sean vendido durante un rango de dias donde este:

su stock actual su costo promedio el total en valores (costo*stock) el almacen al que pertenece y la fecha de su ultima venta

former_member210784
Active Contributor
0 Kudos

Hola.

Como necesita sólo los no vendidos sin lotes, sería tomar el movimiento de las facturas y luego traer los artículos cuya última fecha de factura no esté dentro del rango de fechas determinado, así:


SELECT T1.ItemCode, T1.Dscription, T2.OnHand, T2.AvgPrice as 'Precio Promedio', 
       T2.AvgPrice*T2.OnHand AS 'Valor Total', MAX(T1.DocDate) AS 'Ult.Fec.Vta'
FROM OINV T0 INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry 
             INNER JOIN OITM T2 ON T1.ItemCode = T2.ItemCode
WHERE T0.DocType LIKE 'I'
GROUP BY T1.ItemCode, T1.Dscription, T2.OnHand, T2.AvgPrice 
HAVING MAX(T0.DocDate) NOT BETWEEN '[%0]' AND '[%1]' AND T2.OnHand > 0

Pruebe el query y nos cuenta cómo le va.

Saludos.

Edited by: Hector Daniel Hernandez Bacca on Apr 13, 2010 9:09 AM

former_member671177
Participant
0 Kudos

Cordial Saludo

nuevamente gracias por tu ayuda pero al generar la consulta no me esta mostrando el costo promedio del articulo por almacen hasta donde puedo ver ese costo esta en la tabla OITW

gracias

former_member210784
Active Contributor
0 Kudos

Hola.

Intente con este:


SELECT T1.ItemCode, T1.Dscription, T2.AvgPrice, T3.WhsCode, T3.OnHand, 
       T3.AvgPrice as 'Precio Promedio', 
       T3.AvgPrice*T3.OnHand AS 'Valor Total', 
       MAX(T1.DocDate) AS 'Ult.Fec.Vta'
FROM OINV T0 INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry 
             INNER JOIN OITM T2 ON T1.ItemCode = T2.ItemCode
             INNER JOIN OITW T3 ON T2.ItemCode = T3.ItemCode
WHERE T0.DocType LIKE 'I'
GROUP BY T1.ItemCode, T1.Dscription, T2.AvgPrice, T3.WhsCode, T3.OnHand, 
             T3.AvgPrice 
HAVING MAX(T0.DocDate) NOT BETWEEN '[%0]' AND '[%1]' AND T3.OnHand > 0

¿Aparece el valor de ambos campos AvgPrice?

Saludos..

former_member671177
Participant
0 Kudos

hola

tengo problemas con la fecha. El informe muestra fecha de la ultima venta ejemplo 01/15/2010 pero al consultar por auditoria de stock el item si se ha vendido con fechas superiores, muchas gracias por tu ayuda

former_member210784
Active Contributor
0 Kudos

Hola.

Entonces, si es una consulta como la del informe del sistema de artículos inactivos.

En ese caso no se analiza por rango de fecha sino por una sola fecha de referencia. Elimine la segunda fecha y modifica el criterio a

MAX(T0.DocDate) <= '[%0]'

.

Saludos.

former_member671177
Participant
0 Kudos

HOLA

La lectura que le doy al 1 er query es genereme los items con el almacen su costo, su stock, y la fecha de su ultima factura de ventas siempre y cuando la fecha de la ultima factura no este dentro del rango que defino en el momento de generar ell reporte fecha inferior y fecha superior

en este caso genera el reporte con todos los datos del item pero la fecha de la ultima factura no se de donde la toma porque aprecen fecha como 10/05/2010 fecha que ninguna factura la tiene y al filtrar por almacen me da valores superiores al valor del inventario total,

y en la 2 query genera similar informacion,

Sera que estoy haciendo algun proceso mal? o en la consulta la fecha del docuemnto debe tomarse de otra tabla?

former_member210784
Active Contributor
0 Kudos

Hola.

Si, la lógica en la consulta para traer la fecha no estaba del todo correcta.

Intenta con este otro query, lo he verificado y este si trae la última fecha de facturación:


SELECT T0.ItemCode, T0.Dscription, T0.OnHand, T0.AvgPrice, T1.AvgPrice, 
	T1.WhsCode, T0.[Ult.Fecha]
FROM (
	SELECT T10.ItemCode, T10.Dscription, T11.OnHand, T11.AvgPrice,
	'Ult.Fecha'=(SELECT TOP 1 DocDate FROM OINM WHERE TransType = 13 
		AND ItemCode = T10.ItemCode ORDER BY DocDate DESC)
	FROM INV1 T10 INNER JOIN OITM T11 ON T10.ItemCode = T11.ItemCode
	WHERE T11.Onhand > 0
	GROUP BY T10.ItemCode, T10.Dscription, T11.OnHand, T11.AvgPrice
) T0 INNER JOIN OITW T1 ON T0.ItemCode = T1.ItemCode AND T1.OnHand > 0
WHERE T0.[Ult.Fecha] NOT BETWEEN '20100101' AND '20100419'
ORDER BY T0.ItemCode

Es un poco más demorada que la otra, pero funciona correctamente.

Saludos.

former_member671177
Participant
0 Kudos

Cordial Saludo

Efectivemente genera bien la fecha pero los datos como stock lo esta generando a nivel general no almacen por almacen y costo promedio si toma el almacen que es

de antemano dejame repetirte que muy amable por tu ayuda

Edited by: pachot67 on Apr 20, 2010 1:07 AM

former_member210784
Active Contributor
0 Kudos

Hola.

La última consulta muestra sólo los almacenes donde el stock es mayor que cero. Si desea ver todos los almacenes así no tengan stock, no es sino quitar el último filtro "AND T1.OnHand > 0". La consulta quedaría así.


SELECT T0.ItemCode, T0.Dscription, T0.OnHand, T0.AvgPrice, T1.AvgPrice, 
	T1.WhsCode, T0.[Ult.Fecha]
FROM (
	SELECT T10.ItemCode, T10.Dscription, T11.OnHand, T11.AvgPrice,
	'Ult.Fecha'=(SELECT TOP 1 DocDate FROM OINM WHERE TransType = 13 
		AND ItemCode = T10.ItemCode ORDER BY DocDate DESC)
	FROM INV1 T10 INNER JOIN OITM T11 ON T10.ItemCode = T11.ItemCode
	WHERE T11.Onhand > 0
	GROUP BY T10.ItemCode, T10.Dscription, T11.OnHand, T11.AvgPrice
) T0 INNER JOIN OITW T1 ON T0.ItemCode = T1.ItemCode 
WHERE T0.[Ult.Fecha] NOT BETWEEN '[%0]' AND '[%1]'
ORDER BY T0.ItemCode

Nos cuenta cómo le va.

Saludos.

former_member671177
Participant
0 Kudos

Cordial Saludo

disculpa si no me explique bien. El informe si genera el stock del articulo pero al verificar ese stok no corresponde a ese almacen si no ala suma de todos los almacenes

former_member210784
Active Contributor
0 Kudos

Hola.

Ya comprendo. Para eso se agrega el campo T1.OnHand correspondiente al stock de cada almacén (en la tabla OITW con alias T1), quedando el query así:


SELECT T0.ItemCode, T0.Dscription, T0.OnHand AS 'Stock Total', T0.AvgPrice AS 'ValPromGen', 
	T1.WhsCode, T1.AvgPrice as 'ValPromAlm', T1.OnHand, T0.[Ult.Fecha]
FROM (
	SELECT T10.ItemCode, T10.Dscription, T11.OnHand, T11.AvgPrice,
	'Ult.Fecha'=(SELECT TOP 1 DocDate FROM OINM WHERE TransType = 13 
		AND ItemCode = T10.ItemCode ORDER BY DocDate DESC)
	FROM INV1 T10 INNER JOIN OITM T11 ON T10.ItemCode = T11.ItemCode
	WHERE T11.Onhand > 0
	GROUP BY T10.ItemCode, T10.Dscription, T11.OnHand, T11.AvgPrice
) T0 INNER JOIN OITW T1 ON T0.ItemCode = T1.ItemCode AND T1.OnHand > 0
WHERE T0.[Ult.Fecha] NOT BETWEEN '20100101' AND '20100419'
ORDER BY T0.ItemCode

¿Al correr la consulta aparecen valores en las columnas ValPromGen y ValPromAlm?. Esto es para saber por cuál columna tiene que multiplicar el stock para obtener el valor monetario de dicho stock.

Saludos.

former_member671177
Participant
0 Kudos

listo ya hice las pruebas y la informacion esta ok

no me queda si no agradecerte por tanta amabilidad, y si estas en colombia invitarte a una aguila(cerveza) y si no regaleme tu domicilio para enviarte un whisky

former_member210784
Active Contributor
0 Kudos

Hola.

Me alegro que la consulta cumple con su requerimiento.

Si, estoy en Colombia, gracias por la intención. Por ahora, si puede colocar en las respuestas las estrellas, le agradezco... jejeje...

Gracias y Saludos.

Answers (0)