Skip to Content
0
Jul 12, 2016 at 05:50 PM

Duplica lineas en reporte

391 Views

Hola a todos

tengo un reporte que me trae facturas por articulo y sus pagos para efecto de pagos de comisiones.

El problema radica cuando una factura es pagada parcialmente, o sea que tiene dos recibos me duplica las lineas de artículos

Actualmente me sale de esta manera

Y quiero que me quede de esta manera

adjunto el query, sé que el problema esta en el JOIN de la OINV a la ORCT pero no doy con la solución

SELECT

CASE

WHEN T0.Project = 'LE' THEN 'LEASING'

WHEN T0.Project = 'AL' THEN 'ALQUILER'

WHEN T0.Project = 'MA' THEN 'MANTENIMIENTO'

WHEN T0.Project = 'EF' THEN 'EFECTOS'

WHEN T0.Project = 'CO' THEN 'CORRIENTE'

END AS 'Proyecto',

t0.DocNum '#Doc', T0.CardCode 'Cod.Cliente', T0.CardName 'Cliente',

T0.Docdate 'Fecha Doc.',t2.slpname 'Vendedor',

(select case when t0.DocType = 'S' then T1.AcctCode else t1.itemcode end) 'Referencia', T1.Dscription 'Descripción',

T1.Quantity 'Cantidad', T1.price 'Precio', T1.LineTotal 'Total Doc.',

(CASE

WHEN t0.doctype = 'I' AND T0.Project = 'AL' THEN 2

END ) AS '%Comision'

FROM OINV T0

INNER JOIN INV1 T1 ON t0.DocEntry = T1.docentry

INNER JOIN OSLP T2 ON T0.SlpCode = T2.SlpCode

LEFT JOIN ( SELECT Y.DocTransId,X.DocNum,X.DocTotal,Y.SumApplied,X.DocDate, y.baseAbs

FROM ORCT X INNER JOIN RCT2 Y On X.DocEntry=Y.DocNum ) T3 ON t3.baseAbs = t0.DocNum

INNER JOIN OCRD T4 ON T0.CardCode = T4.CardCode

LEFT JOIN OITM T5 On T5.ItemCode=T1.ItemCode

LEFT JOIN OITB T6 ON T6.ItmsGrpCod = T5.ItmsGrpCod

left JOIN ( SELECT Y.ReconNum,Y.SrcObjTyp,Y.SrcObjAbs ,X.ReconDate, Y.ReconSum

FROM OITR X INNER JOIN ITR1 Y ON X.ReconNum=Y.ReconNum

WHERE SrcObjTyp=13 AND X.ReconType=0) T7 ON T7.SrcObjAbs=T0.DocEntry

WHERE T1.TargetType != 14

AND T0.Project = [%0] and t0.docnum = [%1]

ORDER BY 1,5,8

Attachments

duplicadas.png (21.9 kB)
noduplicadas.png (11.9 kB)