cancel
Showing results for 
Search instead for 
Did you mean: 

Reporte Sobre Transacciones Aplicadas a Proveedores

0 Kudos

Hola a todos:

Quisiera pedirles de su valiosa ayuda para generar un informe de pagos efectuados a proveedores con sus respectivas notas de credito: eh estado trabajando con este query pero no me da el resultado que deseo ya que me muestra el total del pago, si el pago que realice fue de varias facturas en este caso me agrego varias lineas en la tabla VPM1, en este query quisiera que solo se mostrara el pago d la factura digamos la que va en la linea 2 por un importe de 5,000.00 y no el total de todas las lineas del documento de pago que son 50,000.00, anexo el query para ver si me pueden ayudar, saludos.

DECLARE @P1 INT

SET @P1=(SELECT TransID FROM OPCH WHERE DocNum=3052) --3052 ES EL NUMERO DE FACTURA DE PROVEEDOR

SELECT T0.* FROM ITR1 T0

INNER JOIN JDT1 T1 ON T0.TransRowId = T1.Line_ID AND T0.TransId = T1.TransId

INNER JOIN OITR T2 ON T0.ReconNum = T2.ReconNum

WHERE EXISTS(SELECT U0.ReconNum FROM ITR1 U0 WHERE U0.TransId = (@P1)

AND U0.TransRowId = 0 AND T2.ReconNum = U0.ReconNum)

AND (T1.TransId<>(@P1) OR T1.Line_ID<>0)

Este query me trae todas las transacciones realizadas del documento.

Accepted Solutions (0)

Answers (2)

Answers (2)

0 Kudos

Gracias por la información.

eh estado checando este query pero las reconciliaciones no me las muestra, las omite

SELECT DISTINCT

T0.DocDate'Fecha de Egreso',

T0.DocNum'N° de Egreso',

T3.LicTradNum'Nit',

T0.CardCode'Código Proveedor',

T0.CardName'Nombre de Proveedor',

T3.DocNum'N° Factura Compra',

T3.NumAtCard'N°Fact Proveedor',

T3.DocTotal'V. Factura',

T3.VatSum'Iva',

T2.Dcount,

T2.DcntSum'Valor descuento',

T4.TrgetEntry'N° de Dev',

T2.SumApplied'Valor Pagado',

T5.DocNum 'Devolución',

T5.DocTotal'Valor Dev',

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 T3.DocDate BETWEEN CONVERT(DATETIME,'17/01/2011',103) AND CONVERT(DATETIME,'31/01/2011',103)

ORDER BY T0.DocDate

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenas Tardes

Trata de esta forma


SELECT DISTINCT
T0.DocDate'Fecha de Egreso', 
T0.DocNum'N° de Egreso', 
T3.LicTradNum'Nit',
T0.CardCode'Código Proveedor',
T0.CardName'Nombre de Proveedor', 
T3.DocNum'N° Factura Compra',
T3.NumAtCard'N°Fact Proveedor', 
T3.DocTotal'V. Factura', 
T3.VatSum'Iva',
T2.Dcount, 
T2.DcntSum'Valor descuento',
T4.TrgetEntry'N° de Dev',
T2.SumApplied'Valor Pagado',
T5.DocNum 'Devolución', 
T5.DocTotal'Valor Dev', 
T6.ReconNum 'Nº Recon',
T6.ReconSum 'Valor Recon',
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 
INNER JOIN ITR1 T6 ON T6.TransId = T0.TransId
WHERE T3.DocDate BETWEEN CONVERT(DATETIME,'01/01/2010',103) AND CONVERT(DATETIME,'31/12/2010',103)
ORDER BY T0.DocDate 

Saludos

FLR

0 Kudos

Hola Buenos dias.

gracias por tu respuesta

Ya probe el query con la modificacion pero sigue sin mostrarme las reconsiliaciones, voy a seguirle buscando

felipe_loyolarodriguez
Active Contributor
0 Kudos

A que te refieres con reconciliadiones?

al importe reconciliado por documento? al numero de reconciliacion? u otra cosa...

0 Kudos

Gracias por contestar

Lo que estoy tratando de hacer es un Query que me extraiga todas las transacciones de una factura de proveedores, ya sea pagos o notas de credito directas del docto o desde una reconciliacion.

El query que me enviaste si me muestra los pagos y me suma las notas de credito pero asi como me muestra todos los pagos tambien quiero que me muestre todas las notas de credito como detalle para que se vean todos los movimientos del docto pero solo con el importe aplicado.

Digamos que realice un pago dentro de este pague 2 facturas una por 1,000.00 y a otra 5,000.00 el total del documento es de 6,000.00, lo que quiero en el query es que me muestre solamente los 1,000.00 y no los 6,000.00. esto tanto en pagos como notas de credito.

no se si me explique bien.

Este Query me muestra lo que quiero pero el resultado que busco no es el correcto ya que en lugas de colocarme 1,0000.00 me coloca los 6,000.00

DECLARE @P1 INT, @P2 INT,@P3 INT,@P4 INT

SET @P1=(SELECT TransID FROM OPCH WHERE DocNum=3052) --Este valor es tomado del campo TransId de la tabla OPCH

SET @P2=0

SET @P3=@P1

SET @P4=0

--1

SELECT COUNT('A') FROM JDT1 T0

LEFT OUTER JOIN ITR1 T1 ON T0.Line_ID = T1.TransRowId AND T0.TransId = T1.TransId

LEFT OUTER JOIN OITR T2 ON T1.ReconNum = T2.ReconNum

WHERE (T0.TransId = (@P1) ) AND T0.ShortName <> T0.Account

--2

--Saldo Total del Docto

SELECT T0.TransType, T0.BaseRef, T0.TransId, T0.Line_ID, MIN(T2.ReconType), MIN(T2.ReconRule1),

MIN(T2.ReconRule2), MIN(T2.ReconRule3), T0.RefDate, T0.DueDate, MAX(T2.ReconDate),

T0.BatchNum, T0.CreatedBy, T0.Ref1, T0.Ref2, T0.Ref3Line, T0.ContraAct, T0.LineMemo,

SUM(T1.CashDisSum), T0.Debit, T0.Credit, T0.BalDueDeb, T0.BalDueCred, SUM(T1.ReconSum),

T0.SYSCred, T0.SYSDeb, T0.BalScDeb, T0.BalScCred, SUM(T1.ReconSumSC), T0.FCDebit, T0.FCCredit,

T0.BalFcDeb, T0.BalFcCred, SUM(T1.ReconSumFC), MAX(T2.ReconNum), T0.ShortName, T0.Account,

T0.FCCurrency, T2.ReconCurr, COUNT(T2.ReconNum), T1.IsCredit, MAX(T2.OldMatNum)

FROM JDT1 T0 LEFT OUTER JOIN ITR1 T1 ON T0.Line_ID = T1.TransRowId

AND T0.TransId = T1.TransId LEFT OUTER JOIN OITR T2 ON T1.ReconNum = T2.ReconNum

WHERE (T0.TransId = (@P1) ) AND T0.ShortName <> T0.Account

GROUP BY T0.TransType, T0.BaseRef, T0.TransId, T0.Line_ID, T0.RefDate, T0.DueDate,

T0.BatchNum, T0.CreatedBy, T0.Ref1, T0.Ref2, T0.Ref3Line, T0.ContraAct, T0.LineMemo,

T0.Debit, T0.Credit, T0.BalDueDeb, T0.BalDueCred, T0.SYSCred, T0.SYSDeb, T0.BalScDeb,

T0.BalScCred, T0.FCDebit, T0.FCCredit, T0.BalFcDeb, T0.BalFcCred, T0.ShortName, T0.Account,

T0.FCCurrency, T2.ReconCurr, T1.IsCredit

--Listado de las Transacciones Aplicadas

--3

SELECT CASE T1.TransType WHEN 46 THEN 'Pago' WHEN 19 THEN 'Nota Crédito' ELSE 'error' END 'Operación',

T1.TransType, T1.BaseRef, T1.TransId, T1.Line_ID, T2.ReconType, T2.ReconRule1, T2.ReconRule2,

T2.ReconRule3, T1.RefDate, T1.DueDate, T2.ReconDate, T1.BatchNum, T1.CreatedBy, T1.Ref1,

T1.Ref2, T1.Ref3Line, T1.ContraAct, T1.LineMemo, T0.CashDisSum, T1.Debit, T1.Credit,

T1.BalDueDeb, T1.BalDueCred, T0.ReconSum, T1.SYSCred, T1.SYSDeb, T1.BalScDeb, T1.BalScCred,

T0.ReconSumSC, T1.FCDebit, T1.FCCredit, T1.BalFcDeb, T1.BalFcCred, T0.ReconSumFC, T2.ReconNum,

T1.ShortName, T1.Account, T1.FCCurrency, T2.ReconCurr, T2.ReconNum, T0.IsCredit, T2.OldMatNum

,T0.LineSeq

FROM ITR1 T0

INNER JOIN JDT1 T1 ON T0.TransRowId = T1.Line_ID

AND T0.TransId = T1.TransId

left outer JOIN OITR T2 ON T0.ReconNum = T2.ReconNum

WHERE EXISTS(SELECT U0.ReconNum FROM ITR1 U0 WHERE U0.TransId = (@P1)

AND U0.TransRowId = (@P2) AND T2.ReconNum = U0.ReconNum)

AND (T1.TransId <> (@P3) OR T1.Line_ID <> (@P4) )

ORDER BY T2.CreateDate

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenas Tardes estimado

Sugiero que revises el siguiente link, donde se armo una consulta de pagos a proveedores

[;

Atte.

FLR