Query facturas pagadas en el mismo mes de emitidas

Buenos días familia

Necesito de su ayuda para realizar un reporte donde salgan todas las facturas canceladas en el mismo mes con los siguientes campos: código cliente, nombre, numero factura, fecha factura, valor, numero de pago, fecha pago, valor

Agradecería mucho su colaboración

Nelson183,
Te anexo el siguiente query, esperanto te ayude.

SELECT Distinct 
T0.DocNum as 'Factura',
T0.CANCELED as 'Factura Cancelada',
T0.DocDate as 'Fecha Documento',
T0.UpdateDate as 'Fecha Cancelacion',
T0.CardCode as 'Cliente',
T0.CardName as 'Nombre',
T0.DocTotal as 'ImporteTotal',
T1.DocDate as 'Fecha Pago',
T1.DocNum as 'No.Pago',
T1.CashSum as 'Efectivo',
T1.CreditSum as 'TJT.Crédito', 
T1.CheckSum as 'Cheque',
T1.TrsfrSum as 'Transferencia',
T1.DocTotal as 'Total Pago',
T1.Canceled as 'Pago Cancelado' 
FROM ADOC T0 INNER JOIN ORCT T1 ON T0.DOCNUM = T1.DOCNUM 
WHERE T0.CANCELED = 'Y' and  T0.DocDate = T0.UpdateDate and  T0.ObjType = '13'

Hola @Furilo pruebo el Query y no me funciona, osea si me arroja datos pero no completos

Nelson.

Cambie el campo T0.DocNum por T0.ReceiptNum, prueba nuevamente con el siguiente Query, te comento que la Tabla ADOC guarda el histórico de Cambios y es ahí donde se toma la fecha de cuando se realizo la cancelación de la factura. Espero que tengan el Histórico de cambios sin depurar pues hay veces que se tiene que depurar esa tabla porque crece mucho.

SELECT Distinct

T0.DocNum as 'Factura',

T0.CANCELED as 'Factura Cancelada',

T0.DocDate as 'Fecha Documento',

T0.UpdateDate as 'Fecha Cancelacion',

T0.CardCode as 'Cliente',

T0.CardName as 'Nombre',

T0.DocTotal as 'ImporteTotal',

T1.DocDate as 'Fecha Pago',

T1.DocNum as 'No.Pago',

T1.CashSum as 'Efectivo',

T1.CreditSum as 'TJT.Crédito',

T1.CheckSum as 'Cheque',

T1.TrsfrSum as 'Transferencia',

T1.DocTotal as 'Total Pago',

T1.Canceled as 'Pago Cancelado'

FROM ADOC T0 INNER JOIN ORCT T1 ON T0.ReceiptNum = T1.DOCNUM WHERE T0.CANCELED = 'Y' and T0.DocDate = T0.UpdateDate and T0.ObjType = '13'
1 me gusta

@Furilo Hola amigo te cuento que la tabla se depura cada cierto tiempo lo que significa que asi no me sirve el codigo yo lo estoy organizando de esta manera enlazando directamente con la cancelacion de la factura pero me arroja mal los datos al poner cuanto se pago por la factura te adjunto el codigo y te muestro el error que tengo en el Query

SELECT DISTINCT T0."CardCode", T0."CardName", T0."DocNum", T0."DocDate", T0."DocTotal", T1."DocNum", T1."DocDate", T2."SumApplied" FROM OINV T0 INNER JOIN ORCT T1 ON T1."DocEntry" = T0."ReceiptNum" INNER JOIN RCT2 T2 ON T1."DocEntry" = T2."DocNum" WHERE T1."DocNum" = 9031660

Como te adjunto en la imagen tengo 3 facturas con su total, y al agregar el valor pagado se me duplican los valores y me muestra el valor que no es porque necesito saber cuanto pago por factura no en total por eso agregue la tabla RCT2 no se si el error esta en la union con esta tabla, agradeceria de su ayuda

Hola amigo @Furilo ya organice el código mira

SELECT DISTINCT T0."CardCode", T0."CardName", T0."DocNum", T0."DocDate", T0."DocTotal", T2."DocNum", T2."DocDate", T1."SumApplied" FROM OINV T0
INNER JOIN RCT2 T1 ON T1."DocEntry" = T0."DocEntry" AND T1."InvType" = T0."ObjType"
INNER JOIN ORCT T2 ON T2."DocEntry" = T1."DocNum"
LEFT OUTER JOIN OSLP T3 ON T0."SlpCode" = T3."SlpCode"
LEFT OUTER JOIN INV1 T4 ON T0."DocEntry" = T4."DocEntry" WHERE T2."DocNum" = 9031660

Ahora necesitaria organizarlo de manera que me muestre solamente las facturas que fueron emitidas y pagadas en el mismo mes, me podrias dar una mano con eso

Nelson.

Solo agrega al final del WHERE la siguiente condicion:
AND T0.“DocDate” BETWEEN ‘[%2]’ AND ‘[%2]’ AND MONTH(T0.“DocDate”) = MONTH(T2.“DocDate”) AND YEAR(T0.“DocDate”) YEAR(T2.“DocDate”)

Esta condicion te va pedir que digites Fecha Inicial y Fecha Final del periodo que requieras consultar.

1 me gusta

Hola @Furilo intento de la manera que me dijiste y no me funciono aparte solo me deja poner una fecha y no dos te adjunto pantallazo

Y al darle ok me dice que no hay datos

Nelson.

anexo nuevamente la condicion.
AND T0.“DocDate” BETWEEN ‘[%1]’ AND ‘[%2]’ AND MONTH(T0.“DocDate”) = MONTH(T2.“DocDate”) AND YEAR(T0.“DocDate”) YEAR(T2.“DocDate”)

Saludos

Este tema se cerró automáticamente 30 días después de la última publicación. No se permiten nuevas respuestas.