1С Ошибка: Таблица итогов не актуальна — Пересчет итогов регистров
- Ошибка при проведении документов или формировании отчетов:
Таблица итогов не актуальна. Требуется пересчет итогов. - Аномально медленное формирование отчетов по остаткам (запросы обращаются к таблице движений вместо готовых итогов).
- Граница рассчитанных итогов регистров отстает от текущей даты более чем на 1-2 месяца.
1. Установка периода актуальности итогов в режиме 1С:Предприятие
Перейдите в Все функции (Функции для технического специалиста) → Стандартные → Управление итогами и агрегатами:
- Выберите все регистры накопления и бухгалтерии.
- Установите дату актуальности итогов на конец следующего месяца относительно текущей даты.
- Нажмите кнопку Установить период рассчитанных итогов.
2. Программный пересчет и сдвиг границы итогов
Создайте регламентное задание со следующим кодом для автоподдержания актуальности итогов:
// Расчет итогов на 1 месяц вперед от текущей даты
ДатаИтогов = КонецМесяца(ДобавитьМесяц(ТекущаяДатаСеанса(), 1));
// Сдвиг границы итогов по всем регистрам накопления
Для Каждого МенеджерРегистра Из РегистрыНакопления Цикл
МенеджерРегистра.УстановитьПериодРассчитанныхИтогов(ДатаИтогов);
МенеджерРегистра.ПересчитатьИтоги();
КонецЦикла;
// Сдвиг границы итогов по регистрам бухгалтерии
Для Каждого МенеджерРегистра Из РегистрыБухгалтерии Цикл
МенеджерРегистра.УстановитьПериодРассчитанныхИтогов(ДатаИтогов);
МенеджерРегистра.ПересчитатьИтоги();
КонецЦикла;3. Полный пересчет итогов через Конфигуратор
В режиме Конфигуратора откройте Администрирование → Тестирование и исправление...:
- Выберите пункт Пересчет итогов;
- Нажмите Выполнить (процедура выполняется монопольно).
Частые вопросы (FAQ)
Почему таблица итогов теряет актуальность?
Таблица итогов теряет актуальность, если в систему вводятся документы будущей датой (за пределами рассчитанного периода итогов), либо если регламентное задание сдвига границы итогов не выполнялось более месяца.
Как неактуальные итоги влияют на скорость выполнения запросов?
Когда итоги не актуальны, виртуальная таблица ОстаткиИОбороты вынуждена рассчитывать остаток 'на лету', считывая все записи физической таблицы движений от последней точки актуальности, что замедляет запросы в сотни раз.
Можно ли отключить хранение итогов для ускорения записи документов?
Да, через метод УстановитьИспользованиеИтогов(Ложь), однако это сделает невозможным быстрый расчет остатков и заблокирует получение данных из виртуальных таблиц регистра.
Чем отличается 'Сдвиг границы итогов' от 'Полного пересчета итогов'?
Сдвиг границы итогов только дорассчитывает остатки за новые периоды на основе предыдущих итогов. Полный пересчет удаляет физические таблицы _AccumRegTotals и формирует их с нуля на основе всех движений в базе данных.