on 03-05-2010 8:46 PM
Hola a todos tengo una duda, en el siguiente query de pagos recibidos,
SELECT T2.SeriesName, T0.DocNum, T1.Folio,T0.CardName, T0.CashSum Efectivo, T0.CreditSum TC, T0.CheckSum CH, T0.TrsfrSum Trans, T0.DocTotal FROM ORCT T0 INNER JOIN OINV T1 ON T0.DocEntry = T1.ReceiptNum INNER JOIN NNM1 T2 ON T1.Series = T2.Series WHERE T0.DocDate between [%1] and [%2] and T0.Canceled ='N' ORDER BY T2.SeriesName
Ejemplo, Si hay una pago recibido para 2 o mas facturas en el detalle de reporte me saca el monto total del pago en cada linea de facturas que halla pagado.
Osea, si tengo 2 facturas una de 500 pesos y otra de 1,000 pesos. pagadas digamos en efectivo, el query me arroja 2 renglones (el cual es correcto por que son dos facturas distintas con diferente numero de folio) pero en la columna efectivo no me pone 500 o 1,000 pesos, si no 1,500 para cada una.
Espero hanerme explicado, alguien tiene alguna ayuda para sacar el total pero de cada factura pagada? y pues hay clientes que pagan 10 o mas facturas en una sola exhibicion, ni al caso hacer un pago recibido por cada factura, asi si funcionaria el reporte pero no es el caso.
Gracias y Saludos.
Alessandro.
Hola:
Yo hice una consulta de la siguiente manera espero te sirva:
SELECT
T2.[DocNum]as 'No. Factura',
T0.[CardCode] as 'Codigo del Cliente',
T0.CardName as 'Nombre del Cliente',
T2.[DocTotal] as 'Total factura',
T0.[DocNum]as 'Codigo del Pago',
T1.[SumApplied]as 'total pago',
saldofac= case
when T2.Doctotal-T1.[SumApplied]= '0' then '0'
when T2.Doctotal-T1.[SumApplied]<> '0' then T2.Doctotal-T2.PaidToDate end,
T2.[DocDate]as 'Fecha factura',
T2.[DocDueDate]as 'Fecha Vencimiento',
T0.DocDate as 'Fecha Pago',
RefPago=case
When T0.CashSum ='0' Then 'Efectivo'
When T0.CheckSum ='0' Then 'Cheque'
When T0.CreditSum ='0' Then 'TC'
When T0.TrsfrSum ='0' Then 'TransFerencia'end,
'condicion de pago' = case
When T3.GroupNum = '1' Then '30 dias'
When T3.GroupNum = '9' Then '45 dias'
When T3.GroupNum = '8' Then 'contado'
When T3.GroupNum = '10' Then '15 dias'
When T3.GroupNum = '11' Then '21 dias'
When T3.GroupNum = '12' Then '8 dias'
When T3.GroupNum = '13' Then '5 dias'
When T3.GroupNum = '14' Then '90 dias'
When T3.GroupNum = '15' Then '60 dias'end,
'DifPago'= case
When T3.GroupNum = '1' Then datediff (day,T2.DocDate,T0.DocDate)
When T3.GroupNum = '9' Then datediff (day,T2.DocDate,T0.DocDate)
When T3.GroupNum = '8' Then datediff (day,T2.DocDate,T0.DocDate)
When T3.GroupNum = '10' Then datediff (day,T2.DocDate,T0.DocDate)
When T3.GroupNum = '11' Then datediff (day,T2.DocDate,T0.DocDate)
When T3.GroupNum = '12' Then datediff (day,T2.DocDate,T0.DocDate)
When T3.GroupNum = '13' Then datediff (day,T2.DocDate,T0.DocDate)
When T3.GroupNum = '14' Then datediff (day,T2.DocDate,T0.DocDate)
When T3.GroupNum = '15' Then datediff (day,T2.DocDate,T0.DocDate)
end
FROM OINV T2
LEFT JOIN RCT2 T1 ON T1.DocEntry = T2.DocEntry
INNER JOIN ORCT T0 ON T0.DocEntry = T1.DocNum
INNER JOIN OCRD T3 ON T0.CardCode = T3.CardCode
WHERE T0.[DocDate] >= [%0] and T0.[DocDate] <=[%1]
and T1.InvType = '13'
order by T2.DocNum
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Alessandro
Esto se debe a que el Valor T0.CashSum esta al igual que T0.DocTotal estan a nivel del Recibo y no de la linea de la factura, si quieres saber que monto fue aplicado a cada Factura debes de usar el campo SumApplied que se encuentra en la tabla RCT2 pero aqui no podras saber si el valor que aplicastes a la factura fue efectivo, cheque o trasnferencia ya que este detalle esta a nivel del recibo no de la Factura.
Saludos
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola.
No creo que sea posible. El pago se registra a nivel de cabecera y ¿cómo podría saberse qué cantidad del pago total en efectivo o cheque le corresponde a cada factura?. En el pago no se discrimina por facturas.
Se podría saber el monto pagado por factura, pero no discriminado en efectivo, cheque, etc. Esta información está en la tabla RCT2.
Por supuesto, como ya lo mencionó la manera de ajustar esto sería realizando un pago recibido por factura.
Aunque ya en el enunciado del caso descarta el poder realizar un recibo por factura, si el cliente necesita ese control individual por factura, amerita hablar con el cliente para hacerle entender esto y tratar que acepten realizar un recibo por factura.
Espero sea de ayuda.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
108 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.