Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Итоги регистра накопления не сворачиваются

Итоги регистра накопления не сворачиваются
Я
   КонецЕсли
 
29.12.21 - 09:34
Всем привет.
Занимаюсь сверткой регистра накопления в УПП (ЗаказыПокупателей). Обнаружил такую ситуацию: Делаю запрос к вирт.таблице остатков (по всем измерениям - это ВАЖНО) и вижу в результате по две строчки с одинаковыми плюсовыми и минусовыми ресурсами. Измерения идентичны - проверил группировкой по всем измерениям. Далее убираю из выборки ЛЮБОЕ измерение - остатков нет (свернуты). Если выбираю ВСЕ измерения - остатки с +/-.
База серверная на MS SQL server 2008. Платформа 1С:Предприятие 8.3 (8.3.19.1351).
Делал реструктуризацию, пересчет итогов, выгрузку/загрузку dt. Ничего не изменилось.
На скуле в таблице итогов такие строчки:
https://drive.google.com/file/d/1x0wKZkP7t_IItIGcekaTAu6zGfzCQGLm/view?usp=sharing
Строки имеют одинаковые значения полей, кроме собственно итогов и хеша комбинации измерений DimHash.

Как это исправить?
   pechkin
 
1 - 29.12.21 - 09:34
Пересчет итогов
   ДенисЧ
 
2 - 29.12.21 - 09:34
Если сказать ТЗ.свернуть - тоже не сворачивает?
   КонецЕсли
 
3 - 29.12.21 - 09:49
(2) Я работал только консолью запросов. Там если группировать по всем измерениям и Сумма() по ресурсам - сворачивает.
   КонецЕсли
 
4 - 29.12.21 - 09:50
(1) пересчет итогов делал - не помогло
   ДенисЧ
 
5 - 29.12.21 - 09:54
(3) Ты определись. Или сворачивает, или нет...
   КонецЕсли
 
6 - 29.12.21 - 10:01
(5) Я вроде написал: агрегатными функциями - сворачивает, просто запросом к Остаткам ("выбрать измерение1, измерение2, ресурс из РегистрНакопления.хх.Остатки()") - ресурс не свернут.
   ДенисЧ
 
7 - 29.12.21 - 10:03
(6) Ну так делай запросом, в чём проблема?
   КонецЕсли
 
8 - 29.12.21 - 10:12
(7) ну так проблема в том что в запрос к остаткам должен возвращать свернутые остатки по измерениям без использования агрегатных функций. В конфе полно запросов к вирт. таблице остатков без агрегатных функций, и если они вместо отсутствия остатков будут выдавать по две записи с +/- то будет плохо
   Strogg
 
9 - 29.12.21 - 10:17
(0) можно попробовать отключить использование итогов-включить использование итогов. Ну и посчитать актуальные затем.
   pechkin
 
10 - 29.12.21 - 10:18
А димхэш это не разделитель итого случайно? С ним вроде так и должно быть
   КонецЕсли
 
11 - 29.12.21 - 10:26
(9,10) Тоже думаю что проблема в нём. Почему то он оказался разный для одинакового набора измерений. Не знаю как 1с пересчитывает итоги: очищает ли она физически таблицу итогов?
Попробую на копии отключить итоги, затем проверю в скуле таблицу итогов: если там что будет - удалю. Затем включу итоги.
   Ёпрст
 
12 - 29.12.21 - 13:22
(11) не очищает.
Просто сделай truncate table и пересчет. Усё
   КонецЕсли
 
13 - 29.12.21 - 18:12
Итог такой: физическое удаление записей из таблицы итога и пересчет итогов заново не помогло. Та же картина вернулась. Стал копать глубже и установил что значение поля DimHash переходит в таблицу итога из основной таблицы регистра накопления. В той таблице были записи с пустым значением DimHash. Определил какой документ делает это движение, оказалось это документы "Закрытие заказов покупателей". Перепровёл этот документ и в записи основной таблицы поле DimHash стало заполненным. Запрос по остаткам стал работать как надо.

Связываю это всё с тем что базе 15 лет и она с 8.0 прошла конвертации на 8.1, 8.2, недавно вот на 8.3 перешли (в режиме совместимости). Возможно что-то недопереконвертировалось.
   Ёпрст
 
14 - 29.12.21 - 18:24
(13) режим совместимости с 8.1 ?
   runoff_runoff
 
15 - 29.12.21 - 23:19
разделение итогов
https://its.1c.ru/db/v8std/content/664/hdoc
   Casey1984
 
16 - 30.12.21 - 01:19
(6) Там нигде NULL не зарыт?
   КонецЕсли
 
17 - 30.12.21 - 07:44
(14) 8.2.16.
(15) разделения итогов по регистру нет.
(16) NULLов там не было.

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.