Имя: Пароль:
1C
1С v8
Периодичность в запросе по оборотному регистру накопления.
0 НачинающийВ1С
 
10.04.19
13:44
Добрый день.
Есть оборотный регистр накопления. Создан до меня и уже два года как работающий. И есть куча алгоритмов, которые на нем завязаны и работали правильно до сегодняшнего дня.

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


Данные выгребаются за год, поэтому параметр НачалоПериода это у нас НачалоГода(ТекущаяДатаСеанса()), а КонецПериода(КонецГода(ТекущаяДатаСеанса()).
Количество почему-то задваивается. И я никак  не могу понять почему. Если в консоли запросов ставлю конец периода, например, 10 апреля, то количество правильное. Если хотя бы 1 мая, количество двоится.
Если периодичность ставлю не авто, а Регистратор, то запрос отрабатывает как нужно и данные возвращает правильные.

В чем проблема? И почему раньше ошибок не было, а сейчас есть?
1 DrWatson
 
10.04.19
14:04
Что предшествовало появлению этой ошибки?
2 НачинающийВ1С
 
10.04.19
14:06
(1) Сделал обновления макетов в подключенных обработках. И на следующий день пользователи нашли ошибку, которая появилась, мол, в рамках моего обновления. Хотя я эти документы и запросы даже близко не трогал. Последнее их изменение полтора года назад было, судя по комментариям.
3 sqr4
 
10.04.19
14:07
(0) пересчет итогов попробуй
4 1Сергей
 
10.04.19
14:07
Ставь не Авто, а Период
5 НачинающийВ1С
 
10.04.19
14:08
(1) По всей видимости, раньше просто ошибок не замечали. Но почему вообще количество задваивается, если периодичность не указывать или указывать "авто"? Если ошибка здесь, вероятно, мне надо еще кучу таких аналогичных запросов найти и поправить.
6 НачинающийВ1С
 
10.04.19
14:09
(4) С периодом тоже результат двоится, как с авто.
7 1Сергей
 
10.04.19
14:10
(6) я так понимаю, в (0) запрос не весь
8 НачинающийВ1С
 
10.04.19
14:12
(7) Запрос весь. В данном случае этот кусок просто из события "При изменении".
Мы заполняем поле, и на основании Параметра заполняем в табличной части количество и номенклатуру.
9 1Сергей
 
10.04.19
14:13
(8) тогда соглашусь с (3)
10 DrWatson
 
10.04.19
14:13
(5) Нет ошибок в тексте запроса. Авто - вполне нормальный вариант.
11 SuperVasek
 
10.04.19
15:42
(0) Если абсолютно точно задваивается, то, да, пересчитай итоги.
12 Жан Пердежон
 
10.04.19
15:54
ещё не советовали итоги пересчитать?
13 НачинающийВ1С
 
10.04.19
16:47
(12) Советовали дважды.

В общем, пересчитал итоги по этому регистру, проблема исчезла.

Но возник вопрос, каким образом данные то множились?

Почитал в интернете, все говорят об улучшении производительности, но я так и не понял каким образом пустые строки меняют результат запроса. Буду еще читать, ясное дело.

Забавно что это случилось именно после моего обновления макетов, а не, например, после обновления релиза. Итоги, кстати, здесь не пересчитывали никогда.

Кстати, верно ли я понимаю, эти итоги можно пересчитывать необязательно в монопольном режиме из конфигуратора, а можно прямо внешней обработкой в предприятии?
Как часто Вы делаете эти процедуры (обязательно в целях профилактики или когда возникают проблемы?)
14 НачинающийВ1С
 
10.04.19
16:49
И большое спасибо всем) Я до сегодняшнего дня и не знал о таком механизме как пересчет итогов.
15 sqr4
 
10.04.19
16:52
(13) что то случилось с таблицей итогов, она сломалась, почему да черт его знает, базу не так закрыли в момент транзакции или еще что то.
16 1Сергей
 
10.04.19
16:54
Может, динамически обновлял
17 НачинающийВ1С
 
10.04.19
16:56
(16) Не, мы тут никогда динамически не обновляем. Ходят легенды что у кого-то когда-то что-то поломалось из-за этого, поэтому динамическое обновление строжайше запрещено)