Можно я все-таки попробую прояснить.
Далее речь пойдет о ВТ БИОбороты с поддержкой корреспонденции.
Сбор данной ВТ идет путем объединения 2-х ВТ БИОборотыДтКт.
1. В первой мы берем поле "Оборот" и добавляем его в "ОборотДт" + оно же идет в колонку "Оборот".
2. Во второй мы берем обратные проводки и поле "Оборот" добавляем в "ОборотКт" + оно же идет с минусом в колонку "Оборот".
Теперь, например если у нас были проводки (за период):
1. 51-60 = 100
2. 60-51 = 100
то запрос (очень грубо) получится так:
select 100 Оборот, 100 ОборотДт, 0 ОборотКт
from БИОборотыДтКт(51-60)
union all
select -100 Оборот, 0 ОборотДт, 100 ОборотКт
from БИОборотыДтКт(60-51)
А сгруппированный и суммированный вернет одну строку: 0 Оборот, 100 ОборотДт, 100 ОборотКт.
Вот и получается что HAVING SUM(Оборот) <> 0 по сути просто отрежет данную строк. Разве нет?