cancel
Showing results for 
Search instead for 
Did you mean: 

AYUDA CON AUXILIAR DE IVA ACREDITABLE

Former Member
0 Kudos

Buenas tardes a todos, recién me estreno haciendo una consulta aquí, espero puedan ayudarme, estoy muy verde en SQL, pero por necesidad en mis actividades he tenido que írmelo mascando poco a poco, con algunos tutoriales y búsquedas de Queries aquí en los foros, mi problema es que ya intente muchas formas y no lo he conseguido por eso me atreví a consultarlo directamente.

Bueno después de esta larga intro, les explico en la empresa quieren que duplique el reporte del auxiliar del IVA ACREDITABLE este esta en el plan de cuentas, he conseguido prácticamente hacer una foto, e ingresarle nuevo campos como el nombre del Deudor/Acreedor y los comentarios de si fue cheque o transferencia con el numero, lo que no he conseguido hacer es el jalar la referencia del documento que genero el pago, para no hacerlo tan largo es el NumAtCard de la tabla OPCH, al tráelo en esta consulta lo que hace es duplicarme líneas.

Espero haberme explicado, les muestro la consulta que hasta el momento logre:

SELECT DISTINCT T0.RefDate, T0.TransId, T0.CreatedBy, T0.BaseRef, 'Cta. Contrapartida' = (CASE WHEN T1.FormatCode IS NULL THEN T0.ContraAct ELSE T1.FormatCode END), T0.LineMemo, (T0.Debit - T0.Credit) as 'C/D (M/L)',T0.Debit as 'Cargo', (T0.Credit*-1) as 'Abono', 'Nom. Deudor/acreedor' = (CASE WHEN T0.TransType = 46 THEN T3.CardName WHEN T0.TransType = 24 THEN T4.CardName WHEN TransType = 18 THEN T5.CardName END), 'Referencia' = (CASE WHEN T0.TransType = 46 THEN T3.Comments WHEN T0.TransType = 24 THEN T4.Comments WHEN T0.TransType = 18 THEN T5.Comments END)

FROM JDT1 T0 FULL JOIN OACT T1 ON T0.ContraAct = T1.AcctCode LEFT JOIN VPM2 T2 ON T0.BaseRef = T2.DocNum LEFT JOIN OVPM T3 ON T0.BaseRef = T3.DocNum LEFT JOIN ORCT T4 ON T0.BaseRef = T4.DocNum LEFT JOIN OPCH T5 ON T0.BaseRef = T5.DocNum 

WHERE T0.RefDate BETWEEN [%0] AND [%1] and T0.ShortName = '_SYS00000002755'

ORDER BY T0.RefDate

Les agradezco mucho su ayuda...

Saludos

Accepted Solutions (1)

Accepted Solutions (1)

former_member188471
Active Contributor
0 Kudos

Tengo esto sobre IVA acreditable, solo cambia los num de cuentas para que te arroje info.

SELECT DISTINCT CHEQUE=CASE WHEN T1.CheckNum IS NULL THEN 'TRASPASO' ELSE CAST(T1.CheckNum AS VARCHAR) END, T0.DocNum AS 'NO. PAGO PROV',T0.CardCode AS 'ID PROVEEDOR',TIPO= CASE WHEN T0.DocType='C' THEN 'CLIENTE' ELSE 'PROVEEDOR' END, T4.LicTradNum AS 'RFC',T0.CardName AS 'PROVEEDOR', NO_FACTURA_PROVEEDOR = CASE WHEN T2.InvType=18 THEN (SELECT DocNum FROM OPCH WHERE DocEntry=T2.DocEntry) ELSE T2.DocEntry END, FECHA_FACTURA = CASE WHEN T2.InvType=18 THEN (SELECT DocDate FROM OPCH WHERE DocEntry=T2.DocEntry) END,

T0.DocDate AS 'Fecha Pago a Proveedor', T2.SumApplied AS 'Monto Pago a Proveedor',T2.BfDcntSum AS 'Monto Antes de Pago',

IVA_ACREDITABLE_FACTURA = CASE WHEN T2.VatApplied = 0.0 THEN (SELECT Debit FROM JDT1 WHERE JDT1.Account = '1180' AND JDT1.TransId = T2.DocEntry) ELSE T2.VatApplied END,

DESCUENTO=CASE WHEN T2.Dcount <> 0.0 THEN 'SI' ELSE 'NO' END,

IVA_ACREDITABLE = CASE WHEN T2.Dcount <> 0.0 THEN ((T2.SumApplied/1.15)*0.15)ELSE (SELECT CASE WHEN T2.VatApplied = 0.0 THEN (SELECT Debit FROM JDT1 WHERE JDT1.ShortName = '1180' AND JDT1.TransId = T2.DocEntry) ELSE T2.VatApplied END ) END,

IVA_NO_ACREDITABLE = CASE WHEN T2.Dcount <> 0.0 THEN (T2.VatApplied -((T2.SumApplied/1.15)*0.15)) END,

T3.SeriesName AS 'Serie'

FROM OVPM T0  INNER JOIN  OCRD T4 ON T0.CardCode = T4.CardCode LEFT JOIN VPM1 T1 ON T0.DocNum = T1.DocNum INNER JOIN VPM2 T2 ON T0.DocNum = T2.DocNum

INNER JOIN NNM1 T3 ON T0.Series = T3.Series

WHERE T0.Canceled = 'N' AND T3.ObjectCode = 46

AND T0.DocDate BETWEEN '[%0]' AND '[%1]'

ORDER BY CHEQUE, T0.DocDate, T0.DocNum, T3.SeriesName

FOR BROWSE

Answers (0)