Hola
Estamos necesitando obtener una relación de todas las facturas pagadas del 2010.Con la salvedad de que en el pago utilizamos, tres métodos
Pago con cheque, Pago con efectivo y pago compensado con factura anticipo.
Les agradeceré que me proporcionen soporte para poder obtenerlo lo que necesito que me des un tip de cómoobtener una información de los pagos, lo estoy intentando con un query,pero no me sale completo y al parecer el problema son las Facturas que tienen aplicado un anticipo, que en algunos casos es el 100%, por lo que no hay un pago como tal, sino que es una “compensación”
Les pongo aquí el query que estoy usando a ver que me puedes recomendar, saludos.
setdateformat ymd
--------------------------------------------------------------------------
-----
----- para
los pagos de transferencia y cheque --- los de efectivo van aparte
-----
---------------------------------------------------------------------------
SELECTdistinct
P1.RefDate AS
FechaContabilizacion,
P1.duedate AS
FechaVencimiento,
cta1.segment_0+'-'+cta1.segment_1+'-'+cta1.segment_2 as
CtaContable,
- fa.DocNum AS
NoDocumento, - fa.FolioPref+'-'+ltrim(str(fa.FolioNum))as FolioFactura,
P1.TransId AS
NoTransaccion_Poliza,
cta1.acctName as
CtaContable,
- fa.Comments as
Comentarios, - fa.cardCode as
CuentaContrapartida, - fa.cardName as
NombreCuentaContrapartida,
PD1.Debit as [Cargo(ML)],
PD1.credit as
[Abono(ML)],
casewhen(ltrim(pa.TrsfrAcct)=''or pa.trsfracct isnull)and pa.[CheckSum] >0 then'CHEQUE'WHEN(ltrim(pa.trsfracct)<>' 'and pa.trsfracct isnotnull)and pa.[CheckSum]=0 then'TRANSFERENCIA'
else'EFECTIVO'ENDas chequeTransferencia,
cta2.AcctName as
BancoyCuentaTransferencia,
- banc.BankName as
BancoCheque,
chk1.AcctNum as
CuentaCheque,
- pa.docnum AS
PagoEfectuado,
chk1.DueDate as
FechaCheque,
- pa.DocDate as FechaPago,
- pa.u_fechaCobro as
FechaCobroCheque, - pa.counterref as
FolioCheque, - pa.comments as
Comentario1, - pa.jrnlmemo as
Comentario2
FROM OPCH fa
leftJOIN VPM2 pa1 ON fa.docentry = pa1.baseabs
left join OVPM pa ON pa.Docnum =pa1.Docnum
leftJOIN OJDT P1 ON p1.TransId = fa.TransId
leftJOIN OJDT P2 ON p2.TransId = pa.TransId
left join JDT1 PD1 on p1.transid = PD1.transid
left join JDT1 PD2 on p2.transid= PD2.transid
leftjoin oact cta1 on cta1.AcctCode= pd1.Account
leftjoin oact cta2 on cta2.acctCode= pa.trsfracct
leftjoin vpm1 chk1 on pa.docnum=chk1.docnum
leftjoin odsc banc on chk1.BankCode=banc.bankCode
where pa.canceled='N'and pa.counterref ='485' --and isnull(PD1.Debit,0) <> 0
and pa1.invtype=18 and p1.transtype=18 and p2.transtype=46
and p1.refdate>='2010-01-01'
and p1.refdate<='2010-12-31'and
(((ltrim(pa.TrsfrAcct)=''or pa.trsfracct isnull)and pa.[CheckSum] >0)or(ltrim(pa.trsfracct)<>' 'and pa.trsfracct isnotnull)and pa.[CheckSum]=0)
and pd2.account notin
(
'_SYS00000000525',
'_SYS00000000567',
'_SYS00000000153',
'_SYS00000000418',
'_SYS00000000152',
'_SYS00000000603',
'_SYS00000000527',
'_SYS00000000530',
'_SYS00000000157',
'_SYS00000000156',
'_SYS00000000539',
'_SYS00000000492',
'_SYS00000000155',
'_SYS00000000419',
'_SYS00000000154',
'_SYS00000000526',
'_SYS00000000528',
'_SYS00000000604',
'_SYS00000000531',
'_SYS00000000154',
'_SYS00000000155',
'_SYS00000000419',
'_SYS00000000492',
'_SYS00000000526',
'_SYS00000000528',
'_SYS00000000531',
'_SYS00000000604')
and pd1.account notin
(
'_SYS00000000525',
'_SYS00000000567',
'_SYS00000000153',
'_SYS00000000418',
'_SYS00000000152',
'_SYS00000000603',
'_SYS00000000527',
'_SYS00000000530',
'_SYS00000000157',
'_SYS00000000156',
'_SYS00000000539',
'_SYS00000000492',
'_SYS00000000155',
'_SYS00000000419',
'_SYS00000000154',
'_SYS00000000526',
'_SYS00000000528',
'_SYS00000000604',
'_SYS00000000531',
'_SYS00000000154',
'_SYS00000000155',
'_SYS00000000419',
'_SYS00000000492',
'_SYS00000000526',
'_SYS00000000528',
'_SYS00000000531',
'_SYS00000000604')
orderby p1.refdate