Hola p.cabana, para poder realizar tu script tienes que hacer utilizar la tabla IBT1 ya que esta tabla tiene todos los movimiento de lotes y lo enlazas con el objectype, y basetype del documento.
Mira si te sirve este script lo realice ya que necesitaba algo parecido pero con mas documentos.
Espero te sea de utilidad
SELECT --IBT1.ItemCode+'-'+IBT1.BatchNum AS ItemBatchNum,
IBT1.ItemCode, IBT1.ItemName, IBT1.BatchNum, IBT1.DocDate, IBT1.WhsCode,
CASE WHEN IBT1.Direction=1
THEN IBT1.Quantity*-1
ELSE IBT1.Quantity
END AS Quantity,
IBT1.CardCode, IBT1.CardName
,CASE
WHEN IBT1.[BaseType]=13 THEN 'Factura de Ventas'
WHEN IBT1.[BaseType]=14 THEN 'N/C de Ventas'
WHEN IBT1.[BaseType]=15 THEN 'Entrega de Ventas'
WHEN IBT1.[BaseType]=16 THEN 'Devolución de Ventas'
WHEN IBT1.[BaseType]=18 THEN 'Factura de Compras'
WHEN IBT1.[BaseType]=19 THEN 'N/C de Compras'
WHEN IBT1.[BaseType]=20 THEN 'Entrada de Compras'
WHEN IBT1.[BaseType]=21 THEN 'Devolución de Compras'
WHEN IBT1.[BaseType]=59 AND IGN1.BaseEntry IS NULL THEN 'Entrada de Mercancía'
WHEN IBT1.[BaseType]=59 AND NOT(IGN1.BaseEntry IS NULL) THEN 'Recibo de Producción'
WHEN IBT1.[BaseType]=60 AND IGE1.BaseEntry IS NULL THEN 'Salida de Mercancía'
WHEN IBT1.[BaseType]=60 AND NOT(IGE1.BaseEntry IS NULL) THEN 'Emisión para Producción'
WHEN IBT1.[BaseType]=67 THEN 'Traslado'
ELSE convert(varchar, IBT1.[BaseType] )
END AS BaseTypeDesc
,CASE
WHEN IBT1.[BaseType]=59 AND NOT(IGN1.BaseEntry IS NULL) THEN OWOR_IGN1.DocEntry
WHEN IBT1.[BaseType]=60 AND NOT(IGE1.BaseEntry IS NULL) THEN OWOR_IGE1.DocEntry
ELSE NULL
END AS DocEntryOP
,CASE
WHEN IBT1.[BaseType]=59 AND NOT(IGN1.BaseEntry IS NULL) THEN OWOR_IGN1.DocNum
WHEN IBT1.[BaseType]=60 AND NOT(IGE1.BaseEntry IS NULL) THEN OWOR_IGE1.DocNum
ELSE NULL
END AS DocNumOP
,CASE
WHEN IBT1.[BaseType]=59 AND NOT(IGN1.BaseEntry IS NULL) THEN OWOR_IGN1.ItemCode
WHEN IBT1.[BaseType]=60 AND NOT(IGE1.BaseEntry IS NULL) THEN OWOR_IGE1.ItemCode
ELSE NULL
END AS ItemCodeOP
,CASE
WHEN IBT1.[BaseType]=59 AND NOT(IGN1.BaseEntry IS NULL) THEN (SELECT OITM.ItemName FROM OITM WHERE OITM.ItemCode=OWOR_IGN1.ItemCode)
WHEN IBT1.[BaseType]=60 AND NOT(IGE1.BaseEntry IS NULL) THEN (SELECT OITM.ItemName FROM OITM WHERE OITM.ItemCode=OWOR_IGE1.ItemCode)
ELSE NULL
END AS ItemNameOP
,CASE
WHEN IBT1.[BaseType]=13 THEN OINV.NumAtCard
WHEN IBT1.[BaseType]=14 THEN ORIN.NumAtCard
WHEN IBT1.[BaseType]=15 THEN ODLN.NumAtCard
WHEN IBT1.[BaseType]=16 THEN ORDN.NumAtCard
WHEN IBT1.[BaseType]=18 THEN OPCH.NumAtCard
WHEN IBT1.[BaseType]=19 THEN ORPC.NumAtCard
WHEN IBT1.[BaseType]=20 THEN OPDN.NumAtCard
WHEN IBT1.[BaseType]=21 THEN ORPD.NumAtCard
WHEN IBT1.[BaseType]=59 THEN OIGN.Ref1
WHEN IBT1.[BaseType]=60 THEN OIGE.Ref1
WHEN IBT1.[BaseType]=67 THEN OWTR.Ref1
ELSE NULL
END AS BaseNumAtCard
/*,CASE
WHEN IBT1.BaseType=13 THEN (SELECT NNM1.SeriesName FROM NNM1 WHERE IBT1.BaseType=NNM1.ObjectCode AND OINV.Series=NNM1.Series)
WHEN IBT1.BaseType=14 THEN (SELECT NNM1.SeriesName FROM NNM1 WHERE IBT1.BaseType=NNM1.ObjectCode AND ORIN.Series=NNM1.Series)
WHEN IBT1.BaseType=15 THEN (SELECT NNM1.SeriesName FROM NNM1 WHERE IBT1.BaseType=NNM1.ObjectCode AND ODLN.Series=NNM1.Series)
WHEN IBT1.BaseType=16 THEN (SELECT NNM1.SeriesName FROM NNM1 WHERE IBT1.BaseType=NNM1.ObjectCode AND ORDN.Series=NNM1.Series)
WHEN IBT1.BaseType=18 THEN (SELECT NNM1.SeriesName FROM NNM1 WHERE IBT1.BaseType=NNM1.ObjectCode AND OPCH.Series=NNM1.Series)
WHEN IBT1.BaseType=19 THEN (SELECT NNM1.SeriesName FROM NNM1 WHERE IBT1.BaseType=NNM1.ObjectCode AND ORPC.Series=NNM1.Series)
WHEN IBT1.BaseType=20 THEN (SELECT NNM1.SeriesName FROM NNM1 WHERE IBT1.BaseType=NNM1.ObjectCode AND OPDN.Series=NNM1.Series)
WHEN IBT1.BaseType=21 THEN (SELECT NNM1.SeriesName FROM NNM1 WHERE IBT1.BaseType=NNM1.ObjectCode AND ORPD.Series=NNM1.Series)
WHEN IBT1.BaseType=59 THEN (SELECT NNM1.SeriesName FROM NNM1 WHERE IBT1.BaseType=NNM1.ObjectCode AND OIGN.Series=NNM1.Series)
WHEN IBT1.BaseType=60 THEN (SELECT NNM1.SeriesName FROM NNM1 WHERE IBT1.BaseType=NNM1.ObjectCode AND OIGE.Series=NNM1.Series)
WHEN IBT1.BaseType=67 THEN (SELECT NNM1.SeriesName FROM NNM1 WHERE IBT1.BaseType=NNM1.ObjectCode AND OWTR.Series=NNM1.Series)
ELSE NULL
END AS SerieSAP*/
,CASE
WHEN IBT1.[BaseType]=13 THEN OINV.DocNum
WHEN IBT1.[BaseType]=14 THEN ORIN.DocNum
WHEN IBT1.[BaseType]=15 THEN ODLN.DocNum
WHEN IBT1.[BaseType]=16 THEN ORDN.DocNum
WHEN IBT1.[BaseType]=18 THEN OPCH.DocNum
WHEN IBT1.[BaseType]=19 THEN ORPC.DocNum
WHEN IBT1.[BaseType]=20 THEN OPDN.DocNum
WHEN IBT1.[BaseType]=21 THEN ORPD.DocNum
WHEN IBT1.[BaseType]=59 THEN OIGN.DocNum
WHEN IBT1.[BaseType]=60 THEN OIGE.DocNum
WHEN IBT1.[BaseType]=67 THEN OWTR.DocNum
ELSE NULL
END AS DocNumSAP
/*,CASE
WHEN IBT1.[BaseType]=13 THEN INV1.unitMsr
WHEN IBT1.[BaseType]=14 THEN RIN1.unitMsr
WHEN IBT1.[BaseType]=15 THEN DLN1.unitMsr
WHEN IBT1.[BaseType]=16 THEN RDN1.unitMsr
WHEN IBT1.[BaseType]=18 THEN PCH1.unitMsr
WHEN IBT1.[BaseType]=19 THEN RPC1.unitMsr
WHEN IBT1.[BaseType]=20 THEN PDN1.unitMsr
WHEN IBT1.[BaseType]=21 THEN RPD1.unitMsr
WHEN IBT1.[BaseType]=59 THEN IGN1.unitMsr
WHEN IBT1.[BaseType]=60 THEN IGE1.unitMsr
WHEN IBT1.[BaseType]=67 THEN WTR1.unitMsr
ELSE NULL
END AS unitMsr, IBT1.BaseEntry, IBT1.BaseType, IBT1.Direction, OIBT.ExpDate,
(Select MAX(upper(T0.U_DoctoSerie)) from OINV T0 INNER JOIN INV1 T1 ON T0.DocEntry=T1.DocEntry where ODLN.DocEntry=T1.BaseEntry AND ISNULL(T1.BaseType,0)=15) as U_FacSerie,
(Select MAX(T0.U_DoctoNo) from OINV T0 INNER JOIN INV1 T1 ON T0.DocEntry=T1.DocEntry where ODLN.DocEntry=T1.BaseEntry AND ISNULL(T1.BaseType,0)=15) as U_Facnum,
(Select MAX(TaxDate) from OINV T0 INNER JOIN INV1 T1 ON T0.DocEntry=T1.DocEntry where ODLN.DocEntry=T1.BaseEntry AND ISNULL(T1.BaseType,0)=15) as TaxDate,
(Select MAX(U_NoCont) from OINV T0 INNER JOIN INV1 T1 ON T0.DocEntry=T1.DocEntry where ODLN.DocEntry=T1.BaseEntry AND ISNULL(T1.BaseType,0)=15) as Contraseña*/
FROM IBT1 IBT1
LEFT JOIN INV1 ON IBT1.BaseType=13 AND IBT1.BaseEntry=INV1.DocEntry AND IBT1.BaseLinNum=INV1.LineNum --Detalle de Facturas de Venta
LEFT JOIN OINV ON IBT1.BaseType=13 AND IBT1.BaseEntry=OINV.DocEntry AND OINV.CANCELED='N' --Maestro de Facturas de Venta
LEFT JOIN RIN1 ON IBT1.BaseType=14 AND IBT1.BaseEntry=RIN1.DocEntry AND IBT1.BaseLinNum=RIN1.LineNum --Detalle de N/C de Venta
LEFT JOIN ORIN ON IBT1.BaseType=14 AND IBT1.BaseEntry=ORIN.DocEntry AND ORIN.CANCELED='N' --Maestro de N/C de Venta
LEFT JOIN DLN1 ON IBT1.BaseType=15 AND IBT1.BaseEntry=DLN1.DocEntry AND IBT1.BaseLinNum=DLN1.LineNum --Detalle de Entregas de Venta
LEFT JOIN ODLN ON IBT1.BaseType=15 AND IBT1.BaseEntry=ODLN.DocEntry AND ODLN.CANCELED='N' --Maestro de Entregas de Venta
LEFT JOIN RDN1 ON IBT1.BaseType=16 AND IBT1.BaseEntry=RDN1.DocEntry AND IBT1.BaseLinNum=RDN1.LineNum --Detalle de Devoluciones de Venta
LEFT JOIN ORDN ON IBT1.BaseType=16 AND IBT1.BaseEntry=ORDN.DocEntry AND ORDN.CANCELED='N' --Maestro de Devoluciones de Venta
LEFT JOIN PCH1 ON IBT1.BaseType=18 AND IBT1.BaseEntry=PCH1.DocEntry AND IBT1.BaseLinNum=PCH1.LineNum --Detalle de Facturas de Compra
LEFT JOIN OPCH ON IBT1.BaseType=18 AND IBT1.BaseEntry=OPCH.DocEntry AND OPCH.CANCELED='N' --Maestro de Facturas de Compra
LEFT JOIN RPC1 ON IBT1.BaseType=18 AND IBT1.BaseEntry=RPC1.DocEntry AND IBT1.BaseLinNum=RPC1.LineNum --Detalle de N/C de Compra
LEFT JOIN ORPC ON IBT1.BaseType=18 AND IBT1.BaseEntry=ORPC.DocEntry AND ORPC.CANCELED='N' --Maestro de N/C de Compra
LEFT JOIN PDN1 ON IBT1.BaseType=20 AND IBT1.BaseEntry=PDN1.DocEntry AND IBT1.BaseLinNum=PDN1.LineNum --Detalle de Entradas de Compra
LEFT JOIN OPDN ON IBT1.BaseType=20 AND IBT1.BaseEntry=OPDN.DocEntry AND OPDN.CANCELED='N' --Maestro de Entradas de Compra
LEFT JOIN RPD1 ON IBT1.BaseType=21 AND IBT1.BaseEntry=RPD1.DocEntry AND IBT1.BaseLinNum=RPD1.LineNum --Detalle de Devoluciones de Compra
LEFT JOIN ORPD ON IBT1.BaseType=21 AND IBT1.BaseEntry=ORPD.DocEntry AND ORPD.CANCELED='N' --Maestro de Devoluciones de Compra
LEFT JOIN IGN1 ON IBT1.BaseType=59 AND IBT1.BaseEntry=IGN1.DocEntry AND IBT1.BaseLinNum=IGN1.LineNum --Detalle de Entradas de Mercancía
LEFT JOIN OIGN ON IBT1.BaseType=59 AND IBT1.BaseEntry=OIGN.DocEntry AND OIGN.CANCELED='N' --Maestro de Entradas de Mercancía
LEFT JOIN IGE1 ON IBT1.BaseType=60 AND IBT1.BaseEntry=IGE1.DocEntry AND IBT1.BaseLinNum=IGE1.LineNum --Detalle de Salidas de Mercancía
LEFT JOIN OIGE ON IBT1.BaseType=60 AND IBT1.BaseEntry=OIGE.DocEntry AND OIGE.CANCELED='N' --Maestro de Salidas de Mercancía
LEFT JOIN WTR1 ON IBT1.BaseType=67 AND IBT1.BaseEntry=WTR1.DocEntry AND IBT1.BaseLinNum=WTR1.LineNum --Detalle de Traslados
LEFT JOIN OWTR ON IBT1.BaseType=67 AND IBT1.BaseEntry=OWTR.DocEntry AND OWTR.CANCELED='N' --Maestro de Traslados
LEFT JOIN OWOR AS OWOR_IGN1 ON IGN1.BaseEntry=OWOR_IGN1.DocEntry AND NOT(IGN1.BaseEntry IS NULL) --Maestro de Ordenes de Producción VS Recibo de Producción
LEFT JOIN OWOR AS OWOR_IGE1 ON IGE1.BaseEntry=OWOR_IGE1.DocEntry AND NOT(IGE1.BaseEntry IS NULL) --Maestro de Ordenes de Producción VS Emisión para Producción
--LEFT JOIN INV1 AS INV1_ODLN ON ODLN.DocEntry=INV1_ODLN.BaseEntry AND INV1_ODLN.BaseType=15 --Detalle de Facturas vinculadas a entregas
--LEFT JOIN OINV AS Factura ON INV1_ODLN.DocEntry=Factura.DocEntry AND NOT(INV1_ODLN.DocEntry IS NULL) --Maestro de Facturas vinculadas a entregas
LEFT JOIN OIBT ON IBT1.BatchNum=OIBT.BatchNum AND IBT1.ItemCode=OIBT.ItemCode AND IBT1.WhsCode=OIBT.WhsCode --Maestro de Lotes
--WHERE IBT1.ItemCode = 'XXXXX' and IBT1.BatchNum ='XXX'