cancel
Showing results for 
Search instead for 
Did you mean: 

Seguimiento de una oferta de venta

Former Member
0 Kudos

Saludos, mi pregunta es la siguiente. Como puedo hacer la relación en un query para que me muestre todas las ofertas de ventas, ordenes de ventas, entregas y facturas de un cliente en especifico, tomando en cuenta que una entrega puede tener como documento base una oferta de venta o una orden de venta o que una factura tenga como documento destino una entrega o como documento base una orden de venta, es decir que me muestre un seguimiento de todos los documentos de ventas de un cliente para saber por los documentos que ha pasado y los que no ha pasado. he realizado un query con una relación FULL OUTER JOIN sobre cada una de las tablas ( OQUT, ORDR, ODLN, OINV ) sin embargo la información que muestra no siempre me muestra la relación como debería ya que me muestra valores que no son, les agradecería si me pudieran dar alguna sugerencia sobre como podría realizar este query

Accepted Solutions (1)

Accepted Solutions (1)

marco_ramirez
Active Contributor
0 Kudos

Buenos días Omar

Prueba con este código y has las modificaciones que necesites, a mi me funciona bien.

Saludos

select * from (

SELECT Distinct

T0.CardName [Cliente],

Case

When T0.DocNum Like '1_%%' Then ('A.Archila')

When T0.DocNum Like '2_%%' Then ('E.Alvarez')

When T0.DocNum Like '3_%%' Then ('M.Pérez')

When T0.DocNum Like '4_%%' Then ('V.Rosales')

When T0.DocNum Like '5_%%' Then ('S.Mazariégos')

When T0.DocNum Like '7_%%' Then ('A.Granados')

End [Comercializador],

T0.DocNum [Cotización],

T0.DocDate [Fecha1],

T0.DocTime [Inicio1],

Case

When T0.DocStatus = 'O' and T0.Canceled = 'N' Then ('Abierto')

When T0.DocStatus = 'C' and T0.Canceled = 'N' Then ('Cerrado')

When T0.DocStatus = 'C' and T0.Canceled = 'Y' Then ('Cancelado')

End [Estado1],

   

--ORDEN DE VENTA

   

T2.DocNum [Orden de venta],

T2.DocDate [Fecha2],

T2.DocTime [Inicio2],

case

When T2.U_StatusE = '00' Then ('Envío Programado')

When T2.U_StatusE = '01' Then ('Cargando Material')

When T2.U_StatusE = '02' Then ('Por Entregar')

When T2.U_StatusE = '03' Then ('Despachado')

When T2.U_StatusE = '04' Then ('Retraso')

End [OV Entrega],

 

CASE

    WHEN T2.U_StatusD = '01' THEN ('Llegada Piloto')

    WHEN T2.U_StatusD = '02' THEN ('En cola')

    WHEN T2.U_StatusD = '03' THEN ('Proceso de carga')

    WHEN T2.U_StatusD = '04' THEN ('Saliendo punto de carga')

    WHEN T2.U_StatusD = '05' THEN ('En tránsito')

    WHEN T2.U_StatusD = '06' THEN ('Llegada proyecto')

    WHEN T2.U_StatusD = '07' THEN ('En proceso de descarga')

END [OV Despacho],

 

Case

When T2.DocStatus = 'O' and T2.Canceled = 'N' Then ('Abierto')

When T2.DocStatus = 'C' and T2.Canceled = 'N' Then ('Cerrado')

When T2.DocStatus = 'C' and T2.Canceled = 'Y' Then ('Cancelado')

End [Estado2],

   

--ENTREGA

   

T4.DocNum [Entrega],

T4.DocDate [Fecha3],

T4.Doctime [Inicio3],

Convert(Int,(T4.DocDate-T2.DocDate)) [Días],

--(T4.DocTime - T2.DocTime) [Tiempo],

Case

When T4.DocStatus = 'O' and T4.Canceled = 'N' Then ('Abierto')

When T4.DocStatus = 'C' and T4.Canceled = 'N' Then ('Cerrado')

When T4.DocStatus = 'C' and T4.Canceled = 'N' Then ('Cancelado')

End [Estado3],

   

--FACTURA

   

T6.DocNum [Factura],

T6.DocDate [Fecha4],

T6.DocTime [Inicio4],

Case

When T6.DocStatus = 'O' and T6.Canceled = 'N' Then ('Abierto')

When T6.DocStatus = 'C' and T6.Canceled = 'N' Then ('Cerrado')

When T6.DocStatus = 'C' and T6.Canceled = 'Y' Then ('Cancelado')

End [Estado4]

FROM dbo.OQUT  T0

Left Join RDR1 T1 On T1.BaseRef = T0.DocNum

Left JOIN ORDR T2 ON T1.DocEntry = T2.DocEntry

Left Join DLN1 T3 ON T3.BaseRef = T2.DocNum

Left JOIN ODLN T4 ON T3.DocEntry = T4.DocEntry

left Join INV1 T5 On T5.BaseRef = T4.DocNum

Left Join OINV T6 On T5.DocEntry = T6.DocEntry

   

--Order by T0.DocDate DESc,  T0.DocTime Desc

 

)A

 

Where not

(

A.estado1='Cerrado' and A.estado2='Cerrado' and A.estado3='Cerrado' and

A.estado4='Abierto'

)

 

and

 

not

(

A.estado1='Cerrado' and A.estado2='Cerrado' and A.estado3='Cerrado' and

A.estado4='Cerrado'

)

Answers (0)