Query de Pedidos: OPOR y la ODPO

Hola @JAVIER_NARANJ, te sugiero como primera medida que crees tu tema de presentación, esto nos ayuda a tener contexto de tu perfil, para poder ayudarte mejor:
Puedes seguir este tema para ayudarte a entender el porque: ¡Hola! ¿Cómo deberías presentarte y para qué?

Respecto a tu consulta, tienes las siguientes tablas:

  1. OPCH : Facturas, aqui se guardan tanto factura de proveedorres como Factura de reserva, las Facturas de reserva las identificas por el campo “IsIns” = “Y”
  2. OPDN: Entrada de Mercancia, que puede venir tanto de una OPOR, como de una OPCH
  3. OPOR: Orden de compra

tienes que tomar en cuenta que la relacion entre documento no es a nivel cabecera sino a detalle, y es posible que Factura de reserva gener mas de una entrega, y asi mismo varias entregas se copien a una misma factura, o una Entrega se copie en varias facturas.
Te paso un query que relaciona estos documentos y lo filtra por proveedor, como ejemplo para que lo adaptes:

SELECT
T0.[CardCode],
T0.[CardName],
T0.[DocNum],
T0.[DocDate],
T1.[WhsCode],
T1.[ItemCode],
T1.[Dscription],
T1.LineNum+1 AS Linea,
T1.[Quantity], 
T1.[Currency],
T1.[PriceAfVAT],
T1.[Quantity]*T1.[PriceAfVAT] as "Total",
'Doc Dest.' = CASE 
WHEN T3.OBJTYPE = '18' AND T3.ISINS = 'Y' THEN 'Fact. Reserva Prov.'
WHEN T3.OBJTYPE = '18' AND T3.ISINS = 'N' THEN 'Fact. Prov'
WHEN T5.OBJTYPE = '20' THEN 'Entrada Merc.'
ELSE NULL END,
'Num. Doc' = CASE 
WHEN T3.OBJTYPE = '18' THEN T3.DOCNUM
WHEN T5.OBJTYPE = '20' THEN T5.DOCNUM
ELSE NULL END

FROM OPOR T0
INNER JOIN POR1 T1 ON T0.DOCENTRY = T1.DOCENTRY
LEFT OUTER JOIN PCH1 T2 ON T2.BASEENTRY = T1.DOCENTRY AND T2.BASETYPE = T1.OBJTYPE AND T2.BASELINE = T1.LINENUM
LEFT OUTER JOIN OPCH T3 ON T2.DOCENTRY = T3.DOCENTRY
LEFT OUTER JOIN PDN1 T4 ON T4.BASEENTRY = T1.DOCENTRY AND T4.BASETYPE = T1.OBJTYPE AND T4.BASELINE = T1.LINENUM
LEFT OUTER JOIN OPDN T5 ON T4.DOCENTRY = T5.DOCENTRY

WHERE
T0.[CardCode] =[%0] AND
T0.[CANCELED] ='N' AND
T1.LineStatus = 'C'

ORDER BY T0.DOCNUM ASC

Espero te sirva.

Saludos,

3 Me gusta