Hola Compañeros!
Feliz día de Reyes ! y Año nuevo!
Les platico mi situación, estoy generando un query, en el cuál, debo pedir como parámetros los siguientes campos:
- Rango de fechas
- Serie
- Vendedor
Como campo obligatorio deben indicar las fechas y la serie, pero el vendedor puede ser opcional. Por lo tanto acudo a ustedes, ya que no sé cómo puedo hacer para que si no ingresa información en el campo de vendedor me arroje “por default” todos los vendedores, y si me indica uno, mostrar sólo lo correspondiente a ese vendedor.
Les muestro mi query, y espero me puedan apoyar u orientar un poco sobre el tema.
SELECT CASE T0.ObjType
WHEN 13 THEN 'FACTURA'
END 'Documento', T7.SeriesName 'Serie', ' ' 'Aplica a', T1.SlpName '¿Quién vendió?', T0.CardCode 'Código Cliente', T0.CardName 'Cliente', T0.[LicTradNum] 'RFC Cliente',
T0.DocNum 'Folio', FORMAT(T0.DocDate, 'yyyy-MM-dd') 'Fecha', T2.ItemCode 'Código Artículo', T3.ItemName 'Descripción',
T4.ItmsGrpNam 'Grupo', T5.FirmName 'Fabricante',
CASE T0.CANCELED
WHEN 'C' THEN '-' + CONVERT(VARCHAR(20), T2.Quantity)
WHEN 'N' THEN T2.Quantity
WHEN 'Y' THEN T2.Quantity
END 'Cantidad',
CASE T0.CANCELED
WHEN 'C' THEN '-' + CONVERT(VARCHAR(20), T2.LineTotal)
WHEN 'N' THEN T2.LineTotal
WHEN 'Y' THEN T2.LineTotal
END 'Total',
CASE T0.CANCELED
WHEN 'C' THEN '-' + CONVERT(VARCHAR(20), (T2.StockPrice * T2.Quantity))
WHEN 'N' THEN (T2.StockPrice * T2.Quantity)
WHEN 'Y' THEN (T2.StockPrice * T2.Quantity)
END 'Costo'
FROM OINV T0
INNER JOIN OSLP T1 ON T0.SlpCode=T1.SlpCode
INNER JOIN INV1 T2 ON T0.DocEntry=T2.DocEntry
INNER JOIN OITM T3 ON T2.ItemCode=T3.ItemCode
INNER JOIN OITB T4 ON T3.ItmsGrpCod=T4.ItmsGrpCod
INNER JOIN OMRC T5 ON T5.FirmCode=T3.FirmCode
INNER JOIN NNM1 T7 ON T0.Series=T7.Series
WHERE T0.DocDate >= '[%0]' AND T0.DocDate <= '[%1]' AND T1.SlpName = '[%2]' AND T7.SeriesName = '[%3]'
Saludos