Цитата:Не тупость а пораскинуть моском надо

Учитывай коды операций, предварительно посмотрев движения документов
SELECT
Клиент as [Клиент $Справочник],
SUM(НачДолг) as НачДолг,
SUM(КонДолг) as КонДолг,
SUM(РасхДолг) as РасхДолг,
SUM(ПрихДолг) as ПрихДолг,
SUM(РасхСторноОтгр) as РасхСторноОтгр,
SUM(ПрихСторноОтгр) as ПрихСторноОтгр,
SUM(РасхВосстАванса) as РасхВосстАванса,
SUM(ПрихВосстАванса) as ПрихВосстАванса,
SUM(ПрихВосстОтгр) as ПрихВосстОтгр,
SUM(РасхВосстОтгр) as РасхВосстОтгр,
SUM(ПрихСторноАванса) as ПрихСторноАванса,
SUM(РасхСторноАванса) as РасхСторноАванса,
SUM(НачДолгПост) as НачДолгПост,
SUM(КонДолгПост) as КонДолгПост,
SUM(РасхДолгПост) as РасхДолгПост,
SUM(ПрихДолгПост) as ПрихДолгПост
FROM (
SELECT
Клиент as Клиент,
НачОст as НачДолг,
НачОст+Приход-Расход as КонДолг,
ICASE(((КодОперации = :СторнированиеОтгрузки) OR
(КодОперации = :ВосстановлениеАвансаДругойСтавкой) OR
(КодОперации = :ВосстановлениеОтгрузкиДругойСтавкой) OR
(КодОперации = :СторнированиеАванса)),0,Расход) as РасхДолг,
ICASE(((КодОперации = :СторнированиеОтгрузки) OR
(КодОперации = :ВосстановлениеАвансаДругойСтавкой) OR
(КодОперации = :ВосстановлениеОтгрузкиДругойСтавкой) OR
(КодОперации = :СторнированиеАванса)),0,Приход) as ПрихДолг,
ICASE(КодОперации = :СторнированиеОтгрузки,Расход,0) as РасхСторноОтгр,
0 as ПрихСторноОтгр,
ICASE(КодОперации = :ВосстановлениеАвансаДругойСтавкой,Расход,0) as РасхВосстАванса,
0 as ПрихВосстАванса,
ICASE(КодОперации = :ВосстановлениеОтгрузкиДругойСтавкой,Приход,0) as ПрихВосстОтгр,
0 as РасхВосстОтгр,
ICASE(КодОперации = :СторнированиеАванса,Приход,0) as ПрихСторноАванса,
0 as РасхСторноАванса,
0 as НачДолгПост,
0 as КонДолгПост,
0 as РасхДолгПост,
0 as ПрихДолгПост
FROM (
//Регистр итогов по покупателям
SELECT
$ОстаткиПер.Клиент as Клиент,
'' as КодОперации,
$ОстаткиПер.Долг as НачОст,
0 as Приход,
0 as Расход
FROM
$РегистрИтоги.ВзаиморасчетыПокупателей as ОстаткиПер
WHERE
period = {d :КонецПрошПериода}
UNION ALL
//Регистр оборотов до даты нач по покупателям
SELECT
$ОстаткиНаДату.Клиент,
$ОстаткиНаДату.КодОперации,
$ОстаткиНаДату.Долг,
0,
0
FROM
$Регистр.ВзаиморасчетыПокупателей as ОстаткиНаДату
INNER JOIN
1SJourn as Журн On Журн.IDDoc = ОстаткиНаДату.IDDoc
WHERE
Журн.Date BETWEEN {d :КонецПрошПериода} AND {d :ДатаНач}
UNION ALL
//Обороты по покупателям
SELECT
$Обороты.Клиент,
$Обороты.КодОперации,
0,
(1-Обороты.debkred)*$Обороты.Долг,
(Обороты.debkred)*$Обороты.Долг
FROM
$Регистр.ВзаиморасчетыПокупателей as Обороты
INNER JOIN
1SJourn as Журн On Журн.IDDoc = Обороты.IDDoc
WHERE
Журн.Date BETWEEN {d :ДатаНач} AND {d :ДатаКон}
) as Остатки
UNION ALL
SELECT
Клиент,
0,
0,
0,
0,
0,
ICASE(КодОперации = :СторнированиеОтгрузки,Приход,0),
0,
ICASE(КодОперации = :ВосстановлениеАвансаДругойСтавкой,Приход,0),
0,
ICASE(КодОперации = :ВосстановлениеОтгрузкиДругойСтавкой,Расход,0),
0,
ICASE(КодОперации = :СторнированиеАванса,Расход,0),
НачОст,
НачОст+Приход-Расход,
Расход,
Приход
FROM (
//Регистр итогов по поставщикам
SELECT
$ВидСправочника36.Контрагенты + $ОстаткиПерПост.Клиент as Клиент,
'' as КодОперации,
$ОстаткиПерПост.Долг as НачОст,
0 as Приход,
0 as Расход
FROM
$РегистрИтоги.ВзаиморасчетыПоставщиков as ОстаткиПерПост
WHERE
period = {d :КонецПрошПериода}
UNION ALL
//регистр оборостов до даты нач по поставщикам
SELECT
$ВидСправочника36.Контрагенты + $ОстаткиНаДату2.Клиент,
$ОстаткиНаДату2.КодОперации,
$ОстаткиНаДату2.Долг,
0,
0
FROM
$Регистр.ВзаиморасчетыПоставщиков as ОстаткиНаДату2
INNER JOIN
1SJourn as Журн On Журн.IDDoc = ОстаткиНаДату2.IDDoc
WHERE
Журн.Date BETWEEN {d :КонецПрошПериода} AND {d :ДатаНач}
UNION ALL
//Обороты по поставщикам
SELECT
$ВидСправочника36.Контрагенты + $Обороты2.Клиент,
$Обороты2.КодОперации,
0,
(1-Обороты2.debkred)*$Обороты2.Долг,
(Обороты2.debkred)*$Обороты2.Долг
FROM
$Регистр.ВзаиморасчетыПоставщиков as Обороты2
INNER JOIN
1SJourn as Журн On Журн.IDDoc = Обороты2.IDDoc
WHERE
Журн.Date BETWEEN {d :ДатаНач} AND {d :ДатаКон}
) as Остатки
GROUP BY
Клиент_1c_type_Справочник
Вот для наглядности... Может всё-таки что не так? Коды Операций я смотрю, а вот насчёт движений что-то не понял, что это значит...