cancel
Showing results for 
Search instead for 
Did you mean: 

Ultimo precio de compra en Lista de Materiales

Former Member
0 Kudos

Hola que tal,

Tengo un query que me trae cierta información de un articulo padre(Lista de Materiales) con varios articulos hijo, pero quiero agregar una columna con el ultimo precio de compra de cada articulo padre, ese campo se encuentra en oitm (articulos) pero no encuentro la manera de traerlo y relacionarlo con el query actual, ¿alguien tiene una idea como? les pongo el query:

Select

T2.[WhsName],

T1.[ItemCode],

T1.[Dscription],

Sum(T1.[Quantity]) As [Cantidad],

T1.[Price],

Sum(T1.[GTotal]) As [Total],T3.U_Turno, T0.[DocTime] as [Creado]

From

ODLN T0 

Inner Join DLN1 T1 ON T0.DocEntry = T1.DocEntry

Inner Join OWHS T2 ON T1.WhsCode = T2.WhsCode

              left outer join [@CORTEPV]  T3 ON T0.U_NumCorte = T3.DocEntry

Where

T1.[TreeType] <> 'I' And (T0.[DocDate] >= [%0] And T0.DocDate <= [%1])

Group By

T2.[WhsName],T1.[ItemCode],T1.[Dscription],T1.[Price],T3.U_Turno,T0.[DocTime]

Muchas gracias de antemano, saludos!

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hola, aqui te lo dejo, saludos !

Select

T2.[WhsName],T1.[ItemCode],T1.[Dscription],Sum(T1.[Quantity]) As [Cantidad], T1.[Price],Sum(T1.[GTotal]) As [Total],T0.[DocTime] as [Creado],t4.[lastpurprc]

From

ODLN T0

Inner Join DLN1 T1 ON T0.DocEntry = T1.DocEntry

Inner Join OWHS T2 ON T1.WhsCode = T2.WhsCode

Inner Join OITM T4 ON T1.iTEMCODE = T4.ITEMCODE

left outer join [@CORTEPV]  T3 ON T0.U_NumCorte = T3.DocEntry

Where

T1.[TreeType] <> 'I' And (T0.[DocDate] >= [%0] And T0.DocDate <= [%1])

Group By

T2.[WhsName],T1.[ItemCode],T1.[Dscription],T1.[Price],T3.U_Turno,T0.[DocTime], t4.[lastpurprc]

saludos !!!

Former Member
0 Kudos

Muchas gracias por el query funciona correctamente, sólo un detalle, antes el ItemCode me mostraba la flecha de acceso directo al articulo, y ahora no me aparece, ¿alguna idea del por qué?

Saludos!

EDIT: Revisando bien, sólo me trae el last purchase price de los articulos individuales, pero si hay un articulo padre en lista de materiales con varios articulos hijo, no me hace la suma de ellos y lo muestra como articulo padre en el reporte.

Former Member
0 Kudos

Una disculpa mi estimado, usa este Query, el otro lo modifique para hacer una prueba, usa este, saludos !!!

Select 

T2.[WhsName],

T1.[ItemCode],

T1.[Dscription],

Sum(T1.[Quantity]) As [Cantidad],

T1.[Price],

Sum(T1.[GTotal]) As [Total],T3.U_turno, T0.[DocTime] as [Creado],t4.[lastpurprc] 

From 

ODLN T0  

Inner Join DLN1 T1 ON T0.DocEntry = T1.DocEntry 

Inner Join OWHS T2 ON T1.WhsCode = T2.WhsCode 

Inner Join OITM T4 ON T1.iTEMCODE = T4.ITEMCODE 

left outer join [@CORTEPV]  T3 ON T0.U_NumCorte = T3.DocEntry 

Where 

T1.[TreeType] <> 'I' And (T0.[DocDate] >= [%0] And T0.DocDate <= [%1]) 

Group By 

T2.[WhsName],T1.[ItemCode],T1.[Dscription],T1.[Price],T3.U_Turno,T0.[DocTime], t4.[lastpurprc]

Former Member
0 Kudos

De nuevo muchas gracias por tu ayuda, si me trae la flechita para acceder al articulo, pero está el detalle que no me trae el lastpurprc de los articulos padre, ¿alguna manera de hacer? Intente esta este query:

SELECT T0.FATHER, SUM(ROUND(T1.LastPurPrc*T0.Quantity,2))

FROM ITT1 T0 RIGHT JOIN OITM T1 ON T0.Code = T1.ItemCode

WHERE T0.Father = 'A1118'

GROUP BY T0.Father

Este por si solo me trae el ultimo precio de compra de este articulo padre en particular, (sumando los LastPurPrc de los hijos), pero no puedo adaptarlo al query anterior.

Saludos.

Former Member
0 Kudos

¿Alguna idea?

Former Member
0 Kudos

Ya pude resolverlo, quedó así:

Select   

T2.[WhsName], 

T1.[ItemCode], 

T1.[Dscription], 

Sum(T1.[Quantity]) As [Cantidad],  

T1.[Price], 

Sum(T1.[GTotal]) As [Total],T3.U_turno, T0.[DocTime] as [Creado],

CASE WHEN(T1.ItemCode IN (SELECT CODE FROM OITT)) THEN

(Sum(T1.[Quantity])*(SELECT SUM(ROUND(B.LastPurPrc*A.Quantity,2))

FROM ITT1 A RIGHT JOIN OITM B ON A.Code = B.ItemCode

WHERE A.Father = T1.ItemCode)) ELSE

(Sum(T1.[Quantity])*T4.LastPurPrc) END AS [Ultimo Precio de Compra]

From   

ODLN T0    

Inner Join DLN1 T1 ON T0.DocEntry = T1.DocEntry   

Inner Join OWHS T2 ON T1.WhsCode = T2.WhsCode   

Inner Join OITM T4 ON T1.iTEMCODE = T4.ITEMCODE   

LEFT JOIN ITT1 T5 ON T4.ItemCode = T5.Code

left outer join [@CORTEPV]  T3 ON T0.U_NumCorte = T3.DocEntry

  

Where   

T1.[TreeType] <> 'I' And (T0.[DocDate] >= [%0] And T0.DocDate <= [%1])   

Group By   

T2.[WhsName],T1.[ItemCode],T1.[Dscription],T1.[Price],T3.U_Turno,T0.[DocTime], t4.[lastpurprc]

Muchas gracias!