Query Pagos Recibidos

sql
Etiquetas: #<Tag:0x00007fb8e228e928>

#1

Buenos días

Ya no encuentro como corregir el query, por lo cual acudo a ustedes :slight_smile: .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


#2

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


#3

Hola @wlberth90, gracias por tu pronta respuesta.
Pero el Query que necesito es de Pagos Recibidos no efectuados. :slight_smile:


#4

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


#5

Hola :smile:

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 :vulcan_salute:


#6

Hola @GabrielGS

Muchisimas gracias, ya obtengo el resultado deseado.


#7