Como están!
Estoy haciendo un query donde necesito los números de las entradas de mercancía, referencias y números de serie de los artículos que ingresaron en ese documento, tengo este query pero me trae incluso artículos que no están en las entradas, espero me puedan ayudar, este es el query.
SELECT DISTINCT
T0."DocNum",
T4."ItemCode",
T4."Dscription",
T3."MnfSerial",
T3."DistNumber"
FROM OPDN T0
LEFT JOIN OITL T1 ON T0."DocNum" = T1."DocNum" AND T1."DocType" = 20
LEFT JOIN ITL1 T2 ON T1."LogEntry" = T2."LogEntry" AND T1."DocType" = 20
LEFT JOIN OSRN T3 ON T2."SysNumber" = T3."SysNumber"
LEFT JOIN PDN1 T4 ON T0."DocEntry" = T4."DocEntry"
WHERE
T0."DocDate" BETWEEN [%0] AND [%1]
-- OPCH T0 Factura de proveedores
-- OPDN T2 Pedido de entrada de mercancías
-- PDN1 T3 Pedido de entrada de mercancías - Filas
-- OBTN T4 Datos maestros de los números de serie
-- OPOR T5 Pedido
SELECT DISTINCT
T0.DocNum as Factura,
T1.DocEntry,
T1.ItemCode,
T3.Dscription,
T2.DocNum as Entrada,
T2.DocDate as Fecha,
T4.DistNumber,
T5.DocNum,
T5.DocDate,
T5.CardName,
T5.DocTotal
FROM OPCH T0 INNER
JOIN PCH1 T1 ON T0.DocEntry = T1.DocEntry
INNER JOIN OPDN T2 ON T1.BaseRef=T2.DocNum
INNER JOIN PDN1 T3 ON T2.DocEntry=T3.DocEntry
LEFT JOIN OBTN T4 ON T3.ItemCode=T4.ItemCode
INNER JOIN OPOR T5 ON T3.BaseRef=T5.DocNum
Where T0.DocDate between [%0] and [%1]
@Julio_Sanchez hace mención a este query que podría serte de mucha utilidad yo solo agregue las fechas y los campos que se están utilizando, solo adiciona los JOIN que te hacen falta.
SELECT
T0.DocNum
,T0.CreateDate
,T0.DocDate
,T1.ItemCode
,T1.Dscription
,T5.MnfSerial
,T5.DistNumber
FROM
OPDN T0
LEFT JOIN PDN1 T1 ON T0.DocEntry = T1.DocEntry
LEFT JOIN OITM T2 ON T1.ItemCode = T2.ItemCode
LEFT JOIN OITL T3 ON T3.DocEntry = T0.DocEntry AND T3.DocType = T0.ObjType AND T3.DocLine = T1.LineNum
LEFT JOIN ITL1 T4 ON T3.LogEntry = T4.LogEntry
LEFT JOIN OSRN T5 ON T4.MdAbsEntry = T5.AbsEntry
WHERE T0.DocDate BETWEEN [%0] AND [%1]
ORDER BY T0.DocNum