Пример исправления битых пар в СМ без перегенерации проводок
При наличии явных проблем с сальдо нужно проверить наличие пар "сломанных" проводок, а именно: нужно открыть форму Тесты в меню Сервис или нажать Alt+F11 на клавиатуре.

Затем выбрать Битые пары СМ и нажать на кнопку Выбранный тест.

Результат выполнения выглядит так:

В UNA-desktop проводки записываются так: sptype=1 - это развёрнутая с минусом КT часть из sptype=0, записанная в ДT, чтобы при необходимости, можно было считать остатки только по ДT.
Ниже приведён пример исправления битых пар в СМ без перегенерации проводок, то есть проверочный запрос по TMDB_CM, выявляющий нестыковки между оригинальной и дублирующей записью с TMDB_CM. .
select dt,ct,
sptype , sum (suma)
ct1,ctsc,ctdep,ctsc1,ctnrdoc,ctstrsc,ctnrcm,sumavalct,valutact,ctdata,ctcant1 ,cant,suma,sumagaap,f,m,dtdiv,ctdiv
from tmdb_cm where
sptype=0 and dt<9000
and count
nrdoc=404218
group by dt,ct,sptype
select * ![]()
from (
(select nrdoc,cod,sptype,,f,m,ctdiv
data,funct,isvalid,codfcdebaza,nrdocfcdebaza
,ct,ct1,ctsc,ctdep,ctsc1,ctnrdoc,ctstrsc
,ctnrcm,sumavalct,valutact,ctdata,ctcant1
,cant,suma,sumagaap
from tmdb_cm where nrdoc=333567 404218 and cod=4509799
and sptype=0)
union all -
minus
( select nrdoc,cod,sptype,,f,m,dtdiv
data,funct,isvalid,codfcdebaza,nrdocfcdebaza
,dt,dt1,dtsc,dtdep,dtsc1,dtnrdoc,dtstrsc
,dtnrcm,-sumavaldt,valutadt,dtdata,-dtcant1 dtcant1
,-cant cant,-suma suma, -sumagaap sumagaap
from tmdb_cm where nrdoc=333567 404218 and cod=4509799
and sptype=1)
)
order by cod
select * from tmdb_cm where nrdoc=404218 -404218
333567
and cod=4509799
select * from tmdb_cm where sptype=1 and (nrdoc,cod) in (
select nrdoc,cod countsptype,![]()
from (
(select nrdoc,cod,
data,funct,isvalid,codfcdebaza,nrdocfcdebaza
,ct,ct1,ctsc,ctdep,ctsc1,ctnrdoc,ctstrsc,ctnrcm,sumavalct,valutact,ctdata,ctcant1
,cant,suma,sumagaap
,f,m,ctdiv nrdoc=404218
from tmdb_cm where data>='01.01.2008'
and dt<9000
and sptype=0)
union all -
minus
( select nrdoc,cod,sptype,,f,m,dtdiv
data,funct,isvalid,codfcdebaza,nrdocfcdebaza
,dt,dt1,dtsc,dtdep,dtsc1,dtnrdoc,dtstrsc,dtnrcm,-sumavaldt,valutadt,dtdata,-dtcant1 dtcant1
,-cant cant,-suma suma, -sumagaap sumagaap
from tmdb_cm where data>='01.01.2008' nrdoc=404218 order by cod
and sptype=1)
)
)
update tmdb_cm a set suma=(select -suma from tmdb_cm b where b.sptype=0 and a.nrdoc=b.nrdoc and a.cod=b.cod)
where sptype=1 and data>='01.01.2008' and (nrdoc,cod) in (
select nrdoc,cod countsptype,![]()
from (
(select nrdoc,cod,
data,funct,isvalid,codfcdebaza,nrdocfcdebaza
,ct,ct1,ctsc,ctdep,ctsc1,ctnrdoc,ctstrsc,ctnrcm,sumavalct,valutact,ctdata,ctcant1
,cant,suma,sumagaap
,f,m,ctdiv nrdoc=404218
from tmdb_cm where data>='01.01.2008'
and dt<9000
and sptype=0)
union all -
minus
( select nrdoc,cod,sptype,,f,m,dtdiv
data,funct,isvalid,codfcdebaza,nrdocfcdebaza
,dt,dt1,dtsc,dtdep,dtsc1,dtnrdoc,dtstrsc,dtnrcm,-sumavaldt,valutadt,dtdata,-dtcant1 dtcant1
,-cant cant,-suma suma, -sumagaap sumagaap
from tmdb_cm where data>='01.01.2008' nrdoc=404218 order by cod
and sptype=1)
)
)
update tmdb_cm a set dtnrdoc=(select ctnrdoc from tmdb_cm b where b.sptype=0 and a.nrdoc=b.nrdoc and a.cod=b.cod)
where sptype=1 and data>='01.01.2008' and (nrdoc,cod) in (
select nrdoc,cod countsptype,![]()
from (
(select nrdoc,cod,
data,funct,isvalid,codfcdebaza,nrdocfcdebaza
,ct,ct1,ctsc,ctdep,ctsc1,ctnrdoc,ctstrsc,ctnrcm,sumavalct,valutact,ctdata,ctcant1
,cant,suma,sumagaap
,f,m,ctdiv nrdoc=404218
from tmdb_cm where data>='01.01.2008'
and dt<9000
and sptype=0)
union all -
minus
( select nrdoc,cod,sptype,,f,m,dtdiv
data,funct,isvalid,codfcdebaza,nrdocfcdebaza
,dt,dt1,dtsc,dtdep,dtsc1,dtnrdoc,dtstrsc,dtnrcm,-sumavaldt,valutadt,dtdata,-dtcant1 dtcant1
,-cant cant,-suma suma, -sumagaap sumagaap
from tmdb_cm where data>='01.01.2008' nrdoc=404218 order by cod
and sptype=1)
)
)