Buenos días
Ya no encuentro como corregir el query, por lo cual acudo a ustedes .Necesito generar un query de pagos recibidos donde me muestre el folio de la factura pagada y el usuario, mi query es el siguiente.
SELECT T0.[DocNum] as 'PAgo',T4.[DocNum] as 'Factura', T3.[DocNum] as 'Factura Anticipo', T0.[DocType], T0.[Canceled], T0.[DocDate], T0.[CashSum], T0.[CheckSum], T0.[TrsfrSum] , T0.[CardCode], T0.[CardName], T6.[U_NAME], T6.[USER_CODE], T1.[DocEntry], T1.[InvType], T3.[ObjType] FROM
[dbo].[ORCT] T0 INNER JOIN RCT2 T1 ON T0.[DocEntry] = T1.[DocNum]
LEFT JOIN ODPI T3 ON T1. [DocEntry] = T3. [DocEntry]
LEFT JOIN OINV T4 ON T1. [DocEntry]=T4. [DocEntry]
LEFT JOIN OHEM T5 ON T4.[OwnerCode] = T5.[empID]
LEFT JOIN OUSR T6 ON T5.[UserId] = T6.[USERID]
WHERE T0.[Canceled] = 'N'
El error que tengo con ese, es que tengo unos pagos que aparece para el usuario A cuando realmente pertenece al B. Ya vi que el InvType de la ORCT es la que me afecta, necesito que cuando sea 13 me muestre el folio de la Factura y cuando sea 203 el del anticipo con sus respectivos usuarios.
Gracias por el apoyo que me puedan brindar
buen dia
yo tengo el siguiente codigo
esperoque te ayude con tu consulta es al respecto de pagos efectuados verificando las tablas que necesites te puede servir.
SELECT distinct T0.DocDate’Fecha de Pago’,
T0.DocNum’Poliza’, T3.LicTradNum’RFC’, T0.CardName’Nombre de Proveedor’, T3.DocNum’N° Factura Compra’,T3.NumAtCard’N°Fact Proveedor’, (T3.DocTotal)‘Total’, T3.VatSum’I.V.A’,T2.Dcount, T2.DcntSum’Valor descuento’, T4.TrgetEntry,T2.SumApplied’Valor Pagado’,T3.[U_UUID],
T5.DocNum ‘Devolucion’,
T0.DocTotal’Total de Egreso’
FROM OVPM T0 INNER JOIN VPM2 T2 ON T0.DocEntry = T2.DocNum INNER JOIN OPCH T3 ON T2.DocEntry = T3.DocEntry INNER JOIN PCH1 T4 ON T3.DocEntry = T4.DocEntry and T0.Canceled!=‘Y’ LEFT JOIN ORPC T5 ON T5.DocEntry = T4.TrgetEntry WHERE (T0.docdate >= ‘[%0]’) AND (T0.docdate <= ‘[%1]’) order by T0.DocDate
saludos
1 me gusta
Hola @wlberth90, gracias por tu pronta respuesta.
Pero el Query que necesito es de Pagos Recibidos no efectuados.
1 me gusta
Si America ya lo se
solo publique este query porque espero que te sirva para algo, ya nomas lo adaptarias a tu consulta yo este lo uso para la DIOT.
saludos
1 me gusta
Hola
Aqui lo tienes corregido:
SELECT
T0.[DocNum] as 'Pago'
,T4.[DocNum] as 'Factura'
,T3.[DocNum] as 'Factura Anticipo'
,T0.[DocType]
,T0.[Canceled]
,T0.[DocDate]
,T0.[CashSum]
,T0.[CheckSum]
,T0.[TrsfrSum]
,T0.[CardCode]
,T0.[CardName]
,ISNULL(T7.[U_NAME],T8.[U_NAME]) as U_NAME
,ISNULL(T7.[USER_CODE],T8.[USER_CODE]) as USER_CODE
,T1.[DocEntry]
,T1.[InvType]
,T3.[ObjType]
,T4.[ObjType]
,T3.[OwnerCode]
,T4.[OwnerCode]
FROM
[dbo].[ORCT] T0 INNER JOIN RCT2 T1 ON T0.[DocEntry] = T1.[DocNum]
LEFT JOIN ODPI T3 ON T1. [DocEntry] = T3. [DocEntry] AND T1.[InvType] = T3.ObjType
LEFT JOIN OINV T4 ON T1. [DocEntry] = T4. [DocEntry] AND T1.[InvType] = T4.ObjType
LEFT JOIN OHEM T5 ON T3.[OwnerCode] = T5.[empID]
LEFT JOIN OHEM T6 ON T4.[OwnerCode] = T6.[empID]
LEFT JOIN OUSR T7 ON T5.[UserId] = T7.[USERID]
LEFT JOIN OUSR T8 ON T6.[UserId] = T8.[USERID]
WHERE
T0.[Canceled] = 'N'
AND (T3.[ObjType] IS NOT NULL OR T4.[ObjType] IS NOT NULL)
Saludos
3 Me gusta
Hola @GabrielGS
Muchisimas gracias, ya obtengo el resultado deseado.
2 Me gusta