Проверка квитовки платежей
Для проверки квитовки платежей, существует скрипт:
SELECT /*+ INDEX (MCI_REISES IX_MCI_REISES_DW_TYPE)*/ t.id, t.amount, t.lacc_our, t.shttype, t.rel_kvit, c.bicdom, c.inn FROM t_transactions t, customer c, mci_reises m, deal_types_accmask dta WHERE 1 = 1 AND t.valuedate = :chanegeData AND ( t.accpointer =:changeaccpointer ) AND t.parent_id IS NULL --and t.amount > 0 --and t.rel_kvit is null AND c.id = t.cid AND bitand(t.balancemask,3) > 0 -- Общие условия and trunc(m.datevvoda) = trunc(t.valuedate) AND ( (m.typedoc = 1 and m.amount = t.amount) OR (m.typedoc IN (2,22) AND m.amount =-t.amount) ) AND m.accpointer = t.accpointer AND m.status = 0 -- 1 AND ( ( m.laccpol = t.lacc_our ) -- 2 OR ( dta.dealtype = t.shttype AND m.bikplat = c.bicdom AND ( instr(m.laccpol,dta.accmask) = 1 OR instr(m.laccplat,dta.accmask) = 1 ) ) -- 3 OR ( dta.dealtype = t.shttype AND m.innplat = c.inn AND ( instr(m.laccpol,dta.accmask) = 1 OR instr(m.laccplat,dta.accmask) = 1 ) AND t.shttype IN ( 'FX', 'DP' ) ) -- 4 OR ( m.innplat = c.inn AND nvl(m.laccpol,'00000000000000000000') <> '00000000000000000000' ) ); /
где
- ChangeDate – дата платежа, когда должна произойти квитовка;
- ChangeAccpointer – идентификатор счета платежа, с которым должна произойти квитовка.
Для уточнения какое свойство документа или платежа не квитуются необходимо закомментировать условие в запросе. При этом необходимо соблюдать условия для компиляции запроса