Reporte de Ventas

Este es un código básico que tenia guardado, lo único es que debes agregarle la referencia al pago, pero básicamente tiene varias consideraciones incluyendo las oc de la ov y pickin en caso de ser usado.

también esta lista para agregar detalle en caso de ser requerido.

SELECT DISTINCT 
	T0.DocNum AS 'OV'
	, T3.DocNum AS 'OC'
	, T12.DocNum AS 'OFAB'
	, T5.DocNum AS 'ENTRA'
	, T7.AbsEntry AS 'PICKIN'
	, T9.DocNum AS 'GD'
	, T11.DocNum AS 'FAC'
	, T13.CardCode AS 'CardCode_OV'
	, T13.CardName AS 'CardName_OV'
	, T13.LicTradNum AS 'RUT_OV'
	, T0.DocDate AS 'DocDate_OV'
	, T0.DocDueDate AS 'DocDueDate_OV'
	, T0.TaxDate AS 'TaxDate_OV'
	, T14.SlpName AS 'SlpName_OV'
	, T0.NumAtCard AS 'NumAtCard_OV'
	, T0.Comments AS 'Comments_OV'
	, T0.PickRmrk AS 'PickRmrk_OV'
	, T5.DocDate AS 'DocDate_ENTRA'
	, T5.DocDueDate AS 'DocDueDate_ENTRA'
	, T5.TaxDate AS 'TaxDate_ENTRA'
	, T9.DocDate AS 'DocDate_GD'
	, T9.DocDueDate AS 'DocDueDate_GD'
	, T9.TaxDate AS 'TaxDate_GD'
	, CASE T0.DocStatus WHEN 'O' THEN 'Abierto' WHEN 'C' THEN 'Cerrado' END AS 'ESTADO_OV'
	, CASE T3.DocStatus WHEN 'O' THEN 'Abierto' WHEN 'C' THEN 'Cerrado' END AS 'ESTADO_OC'
	, T0.AtcEntry AS 'AtcEntry_OV'
	, T3.AtcEntry AS 'AtcEntry_OC'
	, T5.AtcEntry AS 'AtcEntry_ENTRA'
	, T9.AtcEntry AS 'AtcEntry_GD'
	, T11.AtcEntry AS 'AtcEntry_FAC'
	, FORMAT(T0.CreateTs, '00:00:00') AS 'HORA_OV'
FROM [ORDR] T0 /*OV*/ 
INNER JOIN [RDR1] T1 ON T0.DocEntry = T1.DocEntry /*OV*/ 
LEFT JOIN [POR1] T2 ON T0.DocEntry = T2.BaseEntry AND T0.ObjType = T2.BaseType AND T1.LineNum = T2.BaseLine /*PEDIDO*/ 
LEFT JOIN [OPOR] T3 ON T2.DocEntry = T3.DocEntry /*PEDIDO*/ 
LEFT JOIN [PDN1] T4 ON T3.DocEntry = T4.BaseEntry AND T3.ObjType = T4.BaseType AND T2.LineNum = T4.BaseLine /*ENTRADA*/ 
LEFT JOIN [OPDN] T5 ON T4.DocEntry = T5.DocEntry /*ENTRADA*/ 
LEFT JOIN [PKL1] T6 ON T0.DocEntry = T6.OrderEntry AND T0.ObjType = T6.BaseObject AND T1.LineNum = T6.OrderLine 
LEFT JOIN [OPKL] T7 ON T6.AbsEntry = T7.AbsEntry 
LEFT JOIN [DLN1] T8 ON T0.DocEntry = T8.BaseEntry AND T0.ObjType = T8.BaseType AND T1.LineNum = T8.BaseLine 
LEFT JOIN [ODLN] T9 ON T8.DocEntry = T9.DocEntry 
LEFT JOIN [INV1] T10 ON ISNULL(T9.DocEntry, T0.DocEntry) = T10.BaseEntry AND ISNULL(T9.ObjType, T0.ObjType) = T10.BaseType AND ISNULL(T8.LineNum, T1.LineNum) = T10.BaseLine
LEFT JOIN [OINV] T11 ON T10.DocEntry = T11.DocEntry 
LEFT JOIN [OWOR] T12 ON T0.DocEntry = T12.OriginNum 
LEFT JOIN [OCRD] T13 ON T0.CardCode = T13.CardCode
LEFT JOIN [OSLP] T14 ON T0.SlpCode = T14.SlpCode
5 Me gusta