Gracias por tu respuesta.
Ya he revisado ese reporte y como tú dices, trae todos los movimientos, pero no me sirve porque está dividido en dos partes: el encabezado que no trae las cantidades de los que ya tuvieron movimientos (estos vienen en el detalle) y al exportarlos a Excel solamente te exporta el encabezado completo y el detalle del que tengas seleccionado, y requiero TODO agrupado en un solo Excel.
Hice este query y ya me quedó como quiero; una AUDITORIA DE STOCK CON LOTES POR FECHA Y ARTÍCULO:
SELECT
LOTEDETALLE.ItemCode AS ARTICULO,
LOTEDETALLE.ItemName AS DESCRIPCION,
LOTEDETALLE.BatchNum AS LOTEDETALLE,
LOTEDETALLE.LineNum AS PARTIDADETALLE,
LOTEDETALLE.BaseEntry AS NUMDOCUMENTO,
LOTEDETALLE.BaseType AS DOCUMENTO,
LOTEDETALLE.Quantity AS CANTIDADDETALLE,
ATRIBUTOSLOTE.MnfSerial AS ANCHO,
LOTEDETALLE.DocDate AS FECHADOCUMENTODETALLE,
LOTEDETALLE.CardName AS CLTE_CTA, SENTIDO= CASE WHEN LOTEDETALLE.Direction = 1 THEN 'SALIDA' ELSE 'ENTRADA' END,
LOTEDETALLE.WhsCode ALMACENDETALLE
FROM
IBT1 LOTEDETALLE, OBTN ATRIBUTOSLOTE
WHERE
ATRIBUTOSLOTE.DistNumber=LOTEDETALLE.BatchNum AND
LOTEDETALLE.DocDate BETWEEN '20120101' AND '20120106' AND
LOTEDETALLE.ItemCode = 'Articulo1010' AND
LOTEDETALLE.BaseType<>67
UNION
SELECT
ARTICULO = 'SI',
DESCRIPCION = 'SALDO INICIAL',
LOTEDETALLE='',
PARTIDADETALLE='',
NUMDOCUMENTO=0,
DOCUMENTO=0,
CANTIDADDETALLE=SUM(LOTEDETALLE.Quantity),
ANCHO=0,
FECHADOCUMENTODETALLE='',
CLTE_CTA='',
SENTIDO= 'ENTRADA',
ALMACENDETALLE=''
FROM
IBT1 LOTEDETALLE
WHERE
LOTEDETALLE.DocDate < '20120101' AND LOTEDETALLE.ItemCode = 'Articulo1010' AND