Неверный подсчет сумм по группировке данных из регистра накопления в запросе.

1. Vellosity 03.12.19 09:59 Сейчас в теме
Добрый день! Имею следующий запрос (прокомментировал все места):

ВЫБРАТЬ
ТоварыОрганизацийОстаткиИОбороты.Период КАК Период,
ТоварыОрганизацийОстаткиИОбороты.Номенклатура КАК Номенклатура,
ТоварыОрганизацийОстаткиИОбороты.СерияНоменклатуры.ДатаВыпуска КАК ДатаВыпуска,	
//Считаем день хранения на складе (дата выпуска - дата производства + 1)
РАЗНОСТЬДАТ(ТоварыОрганизацийОстаткиИОбороты.СерияНоменклатуры.ДатаВыпуска, ТоварыОрганизацийОстаткиИОбороты.Период, ДЕНЬ) + 1 КАК ДеньХранения,
ТоварыОрганизацийОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
ТоварыОрганизацийОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход,
ТоварыОрганизацийОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход,
ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
//Коэффициент показывает сколько бутылок данной номенклатуры помещается на паллету
ЕдиницыИзмерения.Коэффициент КАК Коэффициент,

//Здесь [+ 0.499999999 КАК ЧИСЛО(15, 0)] - округление до полной паллеты
ВЫБОР
КОГДА ЕдиницыИзмерения.Коэффициент <> 0
ТОГДА ВЫРАЗИТЬ(ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток / ЕдиницыИзмерения.Коэффициент + 0.499999999 КАК ЧИСЛО(15, 0))
ИНАЧЕ 0
КОНЕЦ КАК КоличествоПаллетНаКонецДня,

ВЫБОР
КОГДА ЕдиницыИзмерения.Коэффициент <> 0
ТОГДА ВЫРАЗИТЬ(ТоварыОрганизацийОстаткиИОбороты.КоличествоНачальныйОстаток / ЕдиницыИзмерения.Коэффициент + 0.499999999 КАК ЧИСЛО(15, 0))
ИНАЧЕ 0
КОНЕЦ КАК КоличествоПаллетНаНачалоДня

ИЗ
РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты(НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ), КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ), День, , Номенклатура В (&СписокНоменклатуры)) КАК ТоварыОрганизацийОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
ПО ТоварыОрганизацийОстаткиИОбороты.Номенклатура = ЕдиницыИзмерения.Владелец

ГДЕ
ЕдиницыИзмерения.ЕдиницаПоКлассификатору = &ЕдиницаПоКлассификатору

УПОРЯДОЧИТЬ ПО
ДеньХранения,
Номенклатура,
ДатаВыпуска

ИТОГИ
СУММА(КоличествоНачальныйОстаток),
СУММА(КоличествоПриход),
СУММА(КоличествоРасход),
СУММА(КоличествоКонечныйОстаток),
СУММА(КоличествоПаллетНаКонецДня),
СУММА(КоличествоПаллетНаНачалоДня)
ПО
ОБЩИЕ,
ДеньХранения
Показать


Главная задача данного запроса - получить группировку данных по дням хранения
Другими словами, например, сколько в первый день хранилось паллет, сколько бутылок, какая номенклатура и.т.д.

При отладке увидел странную картину (период - один день):


Картинка

Как видно на скриншоте, по группе "День хранения" все суммы подсчитались правильно, кроме остатков бутылок (начальный и конечный). Именно в этих столбцах отображается сумма из ОБЩИХ итогов.

Всю голову уже сломал, почему так происходит.
Если кто-нибудь знает верный ответ - пожалуйста объясните.
Большое спасибо!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. MikhailDr 03.12.19 12:16 Сейчас в теме
А вам обязательно делать расчет в запросе?

Вообще я при ошибках, начинаю упрощать запрос и затем постепенно возвращаюсь к нужному виду. Что будет, если убрать "итоги"? Выборка останется корректной?
3. Vellosity 03.12.19 13:33 Сейчас в теме
(2) Да, если убрать итоги, данные верные. Итоги считаются неверно именно по колонкам "Начальный остаток, конечный остаток".
4. MikhailDr 03.12.19 13:43 Сейчас в теме
(3) Попробуйте без всех условий, кроме периода (возьмите небольшой отрезок), без соединений подсчитать итоги.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот