cancel
Showing results for 
Search instead for 
Did you mean: 

consulta de facturas pagadas

Former Member
0 Kudos

me paso algo raro axisten algunas facturas que fueron pagadas

pero al momento de consultarlas no me salen se brinca al siguiente no

se si tengo algun error en mi codigo

declare @Finicial datetime

declare @Ffinal datetime

set @Finicial = (SELECT distinct T5.[RateDate] FROM ORTT T5 WHERE T5.[RateDate] =[%0])

set @Ffinal = (SELECT distinct T5.[RateDate] FROM ORTT T5 WHERE T5.[RateDate] =[%1])

Select F.ReceiptNum,F.CardCode,f.CardName, F.ShipToCode,

  convert(varchar,P.DocDate) as Fecha,P.DocRate, D.AppliedFC ,

  Case when P.DocRate = '0.000000' then  D.SumApplied else D.AppliedFC * P.DocRate  end as 'Total',

  CASE when FD.TaxCode = 'B2' then (Case when P.DocRate = '0.000000' then  D.SumApplied else D.AppliedFC * P.DocRate  end) / 1.16

  when FD.TaxCode = 'B1' then (Case when P.DocRate = '0.000000' then  D.SumApplied else D.AppliedFC * P.DocRate  end) / 1.11

  else Case when P.DocRate = '0.000000' then  D.SumApplied else D.AppliedFC * P.DocRate  end

  end as 'Importe Sin IVA',

  convert(varchar, F.FolioPref) + '-' + convert(varchar,F.FolioNum) as folio, F.DocNum, convert(varchar,F.DocDate) as 'Fecha Factura',

  (F.DocTotal - F.VatSum )as 'Import Subtotal',

  V.SlpName

from OINV F join ORCT P on F.ReceiptNum = P.DocNum join RCT2 D on F.DocNum = D.DocEntry join INV1 FD on F.DocNum = FD.DocEntry

  join OSLP V on F.SlpCode = V.SlpCode

where P.DocDate between @Finicial and @Ffinal

order by F.ReceiptNum

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hola Humberto,

Intenta reemplazar tu "From" con este codigo de aqui:

FROM OINV F

INNER JOIN RCT2 D ON D.DocEntry = F.DocEntry AND D.InvType = F.ObjType

INNER JOIN ORCT P ON P.DocEntry = D.DocNum

LEFT OUTER JOIN OSLP V ON F.SlpCode = V.SlpCode

LEFT OUTER JOIN INV1 FD ON F.DocEntry = FD.DocEntry

Este codigo mostrara las facturas enlazadas con sus pagos. He puesto los left joins para que en caso haya una factura de servicio o no se haya ingresado el empleado de venta aparezca la factura de todas maneras en el resultado.

Cabe resaltar que este codigo no mostrara/utilizara los pagos que se hayan reconciliado manualmente con la factura. En caso deseas que esto tambien se muestre, deberas usar las tablas OITR, ITR1.

Saludos,

Sebastian

Former Member
0 Kudos

muchas gracias eso era lo que me salia de error solo que no supe como explicarme no me tomaba las de servicio gracias

Former Member
0 Kudos

sebastian

espero y me ayudes un poco mas es que ya me salio pero solo no me toma los valores de pago a cuenta o anticipo es que no me sale saludos

Former Member
0 Kudos

Hola,

En ese caso deberas cambiar la sentencia From, ya que esa solo te mostrara los pagos enlazados a facturas. El siguiente codigo utiliza como tabla base los pagos (ORCT) y enlazara (en caso haya) las facturas.

FROM ORCT P

LEFT OUTER JOIN RCT2 D ON P.DocEntry = D.DocNum

LEFT OUTER JOIN OINV F ON D.DocEntry = F.DocEntry AND D.InvType = F.ObjType

LEFT OUTER JOIN OSLP V ON F.SlpCode = V.SlpCode

LEFT OUTER JOIN INV1 FD ON F.DocEntry = FD.DocEntry

La unica diferencia con el codigo anterior es que solo cambia la forma de enlazar las tablas, ya que los campos son los mismos.

Saludos,

Former Member
0 Kudos

sabes de que no me trajo algunos regrestros de pago a cuenta si me mando mas pero aun asi me faltan

Former Member
0 Kudos

El query anterior deberia arrojar todos los pagos recibidos. Si es que uno no se muestra podria ser porque el filtro de fecha (@Finicial, @Ffinal) en tu query esta reduciendo los resultados.

Former Member
0 Kudos

SOS

sabes de que me detectaron un error y no es por lo de la fecha ya qu ecuando la pongo no mesale el error es que creo mi codigo esta mal desde que utilizo

declare @Finicial datetime

declare @Ffinal datetime

set @Finicial = (SELECT distinct T5.[RateDate] FROM ORTT T5 WHERE T5.[RateDate] =[%0])

set @Ffinal = (SELECT distinct T5.[RateDate] FROM ORTT T5 WHERE T5.[RateDate] =[%1])

Select F.ReceiptNum,F.CardCode,f.CardName, F.ShipToCode,

  convert(varchar,P.DocDate) as Fecha,P.DocRate, D.AppliedFC ,

  Case when P.DocRate = '0.000000' then  D.SumApplied else D.AppliedFC * P.DocRate  end as 'Total',

  CASE when FD.TaxCode = 'B2' then (Case when P.DocRate = '0.000000' then  D.SumApplied else D.AppliedFC * P.DocRate  end) / 1.16

  when FD.TaxCode = 'B1' then (Case when P.DocRate = '0.000000' then  D.SumApplied else D.AppliedFC * P.DocRate  end) / 1.11

  else Case when P.DocRate = '0.000000' then  D.SumApplied else D.AppliedFC * P.DocRate  end

  end as 'Importe Sin IVA',

  convert(varchar, F.FolioPref) + '-' + convert(varchar,F.FolioNum) as folio, F.DocNum, convert(varchar,F.DocDate) as 'Fecha Factura',

  (F.DocTotal - F.VatSum )as 'Import Subtotal',

  V.SlpName

FROM ORCT P

LEFT OUTER JOIN RCT2 D ON P.DocEntry = D.DocNum

LEFT OUTER JOIN OINV F ON D.DocEntry = F.DocEntry AND D.InvType = F.ObjType

LEFT OUTER JOIN OSLP V ON F.SlpCode = V.SlpCode

LEFT OUTER JOIN INV1 FD ON F.DocEntry = FD.DocEntry

lo que esta en negritas ya que cuando lo corro me salen los valores que me faltan 43, 56 y  47

y cuando lo saco directamente de este me salen muy bien no se si me puedan ayudar :

select  * from ORCT

Former Member
0 Kudos

El problema es que en tu "select" no has especificado en ningun lado la tabla de pagos. Acuerdate que pueden haber pagos a cuenta que no necesariamente van a estar enlazados a facturas, es por eso que en vez de seleccionar F.ReceiptNum debes poner P.DocNum

Answers (1)

Answers (1)

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

en la consulta debes añadir una condición más para que sólo busque facturas: en la tabla RCT2 hay una columna que se llama InvType y tienes que añadirla en el join o en el where.

La condición es RCT2.InvType = 13.

Por otro lado yo haría el join por el campo OINV.docentry. El campo OINV.docnum puede duplicarse en dos ejercicios distintos o en dos series distintas para el mismo ejercicio. Los join los haría así:

ORCT T0 INNER JOIN RCT2 T1 ON T0.DocEntry = T1.DocNum  inner join OINV T2 on T1.docentry = T2.docentry and T1.InvType = 13

Un saludo

Agustín Marcos Cividanes

Former Member
0 Kudos

buenos dias  Agustin

Sabes de que aun asi me manda los mismos datos se sigue salteando algunas facturas es lo raro no se que por que no se puse el codigo asi talcual me lo pusiste y nada

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

las facturas que no aparecen en el resultado de la consulta

¿Qué medio de pago utilizaste para cobrarlas?

¿Se reconciliaron internamente?

Sobre una factura de las que no aparecen en el resultado de la consulta haz botón derecho --> operaciones aplicadas y dime qué aparece.

Un saludo

Agustín Marcos Cividanes

Former Member
0 Kudos

ME SALE UNA PAGINA

UNA TABLA