Retenciones de Impuestos

Buenas Tardes Expertos estoy de nuevo en el foro para buscar solucion a un tema que me tiene quebrando la cabeza,
estoy realizando un reporte de rentenciones de impuestos y tengo el query definido, pero me esta dando el problema que se me repiten algunas registros los cuales no deseo porque me altera el cuadre de la presentacion del mismo, adjunto el query

SELECT T3.[AddID] AS 'RTN', T0.[CardCode] AS 'COD PROVEEDOR', T0.[CardName] AS 'NOMBRE PROVEEDOR', T0.[NumAtCard] AS 'NUMERO DE FACTURA', T0.[DocDate] AS ' FECHA FACTURA', T2.[TaxbleAmnt] AS 'BASE RETENCION', T0.[WTSum] AS 'IMPUESTO RETENIDO' FROM OPCH T0  INNER JOIN OVPM T1 ON T0.[ReceiptNum] = T1.[DocEntry] INNER JOIN VPM6 T2 ON T1.[DocEntry] = T2.[DocNum] INNER JOIN OCRD T3 ON T0.[CardCode] = T3.[CardCode] WHERE T2.[WTCode] =[%0] AND  T0.[DocDate] >=[%1] AND  T0.[DocDate] <=[%2] ORDER BY T0.[CardName]

he tratado de relacionar otros campos de las tablas ovpm y vpm6 ya que identifique que es alli donde comienzan a repetirse los registro, espero puedan su apoyo en este tema gracias

saludos

Esa relación que estableces es la de pagos de facturas y entonces ahí se te va la relación 1:1 a 1:n

Buen día Meqs entonces en este caso como procedo?

Para el reporte de retenciones si son de proveedores, los registros de retenciones los tienes en la tabla PCH5 la vinculas con PCH1 y OPCH y ya tienes tu reporte.

Lo que no entiendo es por que vas a las tablas vpm6 y ovpm, ahí están los pagos, pero si en un pago haces más de una factura entonces claro que se repiten los registros. Mas que repetirse, es que en el modelo de datos para obtener determinada información requiere mayor análisis y elaboración.

Buen dia Meqs,
te comento,
la tabla ovpm solo la utilizo para hacer match con la tabla vpm6, en la tabla vpm6 se encuentran los campos T2.[TaxbleAmnt] , en este campo se almacena la base de la retencion sobre la cual calculamos el 1%, y en la tabla OPCH hay un campo T0.[NumAtCard] donde la chica de pagos almacena el numero de factura fiscal entonces quiero enlazar este campo con este (T2.[TaxbleAmnt]
tiene que quedar de esta foma:

no estoy tan seguro pero creo que el problema esta cuando hay varias facturas con un mismo pago veo que las repite

con la solución que me detallas esta muy bien así lo había realizado pero lo necesitan de la forma como te lo estoy planteando, la verdad estoy muy agradecido y si me aconsejas estaré atento

otra dato que quiero adicionar es que en la tabla vpm6 aparecen los pagos efectuados a retenciones y las fechas las cuales necesitare para parametrizar los mesese en que fueron canceladas o pagadas

una cuestión importante…
En la configuración del sistema las retenciones se definen si se hacen en la factura o en el pago
¿Como las tienes definidas?

la retención se define cuando se hace la factura, pero el reporte tiene que llevar las canceladas con el respectivo pago, osea ver la factura de la retención y con que pago se se realizo

en conclusion la retencion se define con la factura

Prueba con esta y adaptala un poco a tus requerimientos.

SELECT T2.[AddID], T1.[CardCode], T2.[CardName], T1.[NumAtCard], T1.[DocDate], T0.[TaxbleAmnt], T0.[WTAmnt], T1.[VatSum], T1.[DocTotal], T3.[SumApplied], T1.[DocEntry], T3.[DocEntry] FROM PCH5 T0  INNER JOIN OPCH T1 ON T0.[AbsEntry] = T1.[DocEntry] INNER JOIN OCRD T2 ON T1.CardCode = T2.CardCode left join VPM2 T3 on T1.DocEntry=T3.DocEntry WHERE T0.[WTCode] =[%0] and T1.[DocDate] >=[%1] and  T1.[DocDate] <=[%2]  

buenos días Meqs,

pruebo y te informo como me fue,

saludos

Buenas tardes Meqs,
te quiero agradecer por el apoyo, te comento que ejecute el query con lo que me pide el departamento financiero, al momento de correrlo ellos me dicen que le hace faltan algunas retenciones pues me puse analizar y encontre el problema, = al momento de darle la parametrización de las fechas NO es con los campos de Fecha de la Factura (opch) sino con los Campos de Fecha de los Pagos (ovpm), trate de agregar la tabla y se me repiten los datos.

SELECT T2.[AddID], T1.[CardCode], T2.[CardName], T1.[NumAtCard], T1.[DocDate], T0.[TaxbleAmnt], T0.[WTAmnt] FROM PCH5 T0 INNER JOIN OPCH T1 ON T0.[AbsEntry] = T1.[DocEntry] INNER JOIN OCRD T2 ON T1.CardCode = T2.CardCode left join VPM2 T3 on T1.DocEntry=T3.DocEntry INNER JOIN OVPM T4 ON T1.[ReceiptNum] = T4.[DocEntry] WHERE T0.[WTCode] =[%0] and T4.[DocDate] >=[%1] and T4.[DocDate] <=[%2] ORDER BY T2.[CardName]

Buenas Tardes Meqs,

te comento que encontre la solucion, estoy muy agradecido por tu gran apoyo, comparto lo que me estaban solicitando por si otro colega se le presenta dicha Consulta,

saludos

SELECT T2.[AddID], T1.[CardCode], T2.[CardName], T1.[NumAtCard], T1.[DocDate], T0.[TaxbleAmnt], T0.[WTAmnt] FROM PCH5 T0 INNER JOIN OPCH T1 ON T0.[AbsEntry] = T1.[DocEntry] INNER JOIN OCRD T2 ON T1.[CardCode] = T2.[CardCode] INNER JOIN OVPM T3 ON T1.[ReceiptNum] = T3.[DocEntry] WHERE T0.[WTCode] = [%0] AND T3.[DocDate] >= [%1] AND T3.[DocDate] <=[%2] ORDER BY T2.[CardName]

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