К статье
Практический материал

Администрирование · 10 мин

Управление итогами в 1С 8.3: для чего нужно и как работает

Что такое управление итогами в 1С 8.3, для чего нужен период актуальности итогов, как включить режим и проверить результат. Разбор настроек и типичных ошибок.

Управление итогами — механизм платформы 1С:Предприятие 8.3, который определяет, за какой период система хранит предварительно рассчитанные итоги по регистрам накопления и регистрам сведений. Итоги нужны, чтобы отчёты и запросы по остаткам и оборотам выполнялись быстро: вместо пересчёта всех движений документов платформа читает готовую сводную таблицу. Без актуальных итогов отчёт «Остатки товаров» или «Взаиморасчёты с контрагентами» в большой базе может формироваться минутами вместо секунд.

Механизм важен в двух ситуациях. Первая — текущая работа: оперативные отчёты строятся на дату, и итоги должны быть актуальны на этот момент. Вторая — массовый перепроведение или закрытие периода: здесь итоги наоборот мешают, потому что при каждом проведении документа платформа пересчитывает их, и это замедляет операцию в разы. Управление итогами позволяет сознательно переключать эти режимы.

Настройки управления итогами задаются отдельно для каждого регистра накопления и регистра сведений (для регистров сведений — только если включён режим итогов). Найти их можно в конфигураторе через свойства регистра, а период актуальности итогов — также через кнопку «Изменить» в окне управления итогами. В типовых конфигурациях часть операций выполняется регламентными заданиями и процедурами закрытия месяца.

Что такое итоги регистров и как они устроены

Регистр накопления хранит движения документов — поступления, списания, перемещения. Полный пересчёт остатка «с нуля» требует просуммировать все движения с начала ведения учёта, что на больших базах занимает заметное время. Чтобы этого избежать, платформа ведёт служебные таблицы итогов: остатки на конец каждого периода (месяца) и обороты за период.

Когда пользователь строит отчёт на дату, для которой итоги актуальны, платформа берёт готовое значение из таблицы итогов и досчитывает только движения внутри текущего незакрытого периода. Это сокращает объём читаемых данных в десятки и сотни раз. Если же итоги не актуальны на нужную дату, отчёт всё равно построится, но будет считаться медленнее — платформа пересчитает данные с последней актуальной точки.

Для чего нужно управление итогами на практике

Первая задача — ускорение оперативной отчётности. Складские отчёты, взаиморасчёты, денежные средства и себестоимость опираются на итоги регистров. Если итоги актуальны, отчёт по остаткам открывается за секунды даже при миллионах записей в регистре. Поэтому период актуальности поддерживают на текущую дату или конец прошлого месяца.

Вторая задача — ускорение массовых операций. При перепроведении большого пакета документов каждое проведение обновляет итоги, и суммарные затраты времени растут. Отключение использования итогов на время операции снимает эту нагрузку: документы проводятся быстрее, а итоги пересчитываются один раз в конце.

Третья задача — контроль объёма базы. Хранение итогов за все месяцы истории увеличивает размер таблиц. Ограничение периода актуальности и использование режима «минимум итогов» позволяют сократить объём служебных данных в регистрах, где историческая отчётность строится редко.

Основные настройки: где находятся и что означают

В конфигураторе настройки итогов открываются через свойства регистра накопления или через команду «Управление итогами» в дереве конфигурации. Для регистра накопления доступны флаги «Использовать итоги» (для остатков) и режимы хранения. Для регистра сведений с измерениями можно включить итоги по срезу первых и последних значений.

Ключевые параметры, которые встречаются в окне управления итогами:

  • Использовать итоги — главный флаг: платформа ведёт таблицу итогов и использует её при запросах. Отключение ускоряет запись, но замедляет отчёты.
  • Минимальный период рассчитанных итогов — глубина хранения итогов в прошлое (месяц, квартал, год, пять лет). Чем меньше период, тем компактнее таблицы.
  • Период актуальности итогов — дата, по которую итоги посчитаны. Устанавливается кнопкой в окне управления итогами или программно.
  • Режим разделения итогов — механизм, при котором движения текущего периода пишутся отдельно от итогов, что снижает блокировки при параллельной работе пользователей.

Как установить период актуальности итогов

Стандартный сценарий — сдвинуть период актуальности на конец прошлого месяца после закрытия периода. В конфигураторе это делается через «Администрирование → Управление итогами»: выбирается регистр, нажимается кнопка установки периода и указывается дата. Платформа пересчитает итоги до указанной точки, что при большом объёме данных может занять продолжительное время.

Программно период актуальности устанавливается методом менеджера регистра:

bsl
РегистрыНакопления.ТоварыНаСкладах.УстановитьПериодРассчитанныхИтогов(КонецМесяца(ДобавитьМесяц(ТекущаяДатаСеанса(), -1)));

В типовых конфигурациях (например, в ERP или «Комплексной автоматизации») актуализация итогов встроена в процедуры закрытия месяца и регламентные операции — вручную её выполнять обычно не требуется. Проверить текущее состояние можно тем же окном управления итогами: там отображается, по какую дату итоги рассчитаны.

Порядок актуализации итогов вручную
  1. 1
    Сделайте резервную копию базы или убедитесь, что актуальная копия есть
  2. 2
    Откройте конфигуратор монопольно или в период минимальной нагрузки
  3. 3
    Перейдите в Администрирование → Управление итогами и выберите нужный регистр
  4. 4
    Установите период рассчитанных итогов на конец прошлого месяца
  5. 5
    Дождитесь завершения пересчёта и проверьте скорость контрольного отчёта

Отключение итогов при массовом перепроведении

При восстановлении последовательности или перепроведении документов за длительный период рекомендуемая схема такая: отключить использование итогов по задействованным регистрам, выполнить перепроведение, затем включить итоги обратно и установить период актуальности. Выигрыш по времени на больших объёмах может быть многократным.

Программно это выглядит так: метод УстановитьИспользованиеИтогов(Ложь) перед операцией и УстановитьИспользованиеИтогов(Истина) после неё. Важно, чтобы включение итогов выполнялось в том же обработчике, что и отключение, — иначе при аварийном прерывании регистр останется с отключёнными итогами, и отчёты замедлятся незаметно для пользователей.

Режим разделения итогов и блокировки

В клиент-серверных базах с десятками одновременно работающих пользователей узким местом становится конкуренция за запись итогов: проведение документов одного периода обновляет одни и те же записи таблицы итогов, что вызывает взаимоблокировки. Режим разделения итогов решает проблему: текущие движения пишутся отдельно, а итоги обновляются при сдвиге периода актуальности.

Включить режим можно в окне управления итогами для конкретного регистра. Он особенно полезен для «горячих» регистров — товаров на складах, взаиморасчётов, денежных средств. Плата за это — необходимость регулярно сдвигать период актуальности, иначе отчёты снова начнут тормозить, так как «разделённая» часть будет накапливаться.

Маршрут решения

Как выбрать действие

Отчёты по остаткам стали заметно медленнееПроверьте период актуальности итогов и сдвиньте его на текущий период
При проведении документов возникают конфликты блокировокВключите режим разделения итогов для проблемных регистров
Нужно перепровести документы за большой периодВременно отключите использование итогов, выполните операцию и включите итоги обратно
База разрослась, а отчёты за старые периоды не нужныСократите минимальный период рассчитанных итогов

Как проверить результат и типичные ошибки

Контрольная проверка проста: откройте отчёт по остаткам на текущую дату и засеките время формирования до и после актуализации итогов. Если итоги актуальны, отчёт строится быстро; если нет — заметно дольше. Дополнительно в окне управления итогами видно, по какую дату рассчитаны итоги и включены ли они вообще.

Типичные ошибки
01
Отключили итоги для перепроведения и забыли включить обратно — отчёты по регистру надолго замедляются
02
Сдвигают период актуальности в рабочее время — пользователи получают блокировки и таймауты
03
Включают итоги по регистрам сведений без необходимости — растёт объём базы без выигрыша в скорости
04
Ожидают, что пересчёт итогов исправит ошибки в остатках — итоги лишь ускоряют доступ, но не исправляют данные; ошибки исправляются перепроведением документов
Итог

Что важно запомнить

Управление итогами — это баланс между скоростью отчётов и скоростью записи. Держите период актуальности на текущем периоде, отключайте итоги при массовых перепроведениях с обязательным обратным включением, а при блокировках используйте режим разделения итогов. Все тяжёлые операции выполняйте вне рабочего времени и с резервной копией.

Частые вопросы

Исчезнут ли данные, если отключить использование итогов?

Нет. Отключается только служебная таблица сводных остатков. Движения документов в регистре сохраняются, и после включения итогов платформа пересчитает их заново. Риск — только временное замедление отчётов.

Как часто нужно сдвигать период актуальности итогов?

Обычно один раз после закрытия месяца — на конец прошлого периода. В типовых конфигурациях это часто делает регламентное задание или процедура закрытия месяца, тогда ручное вмешательство не требуется.

Почему отчёт стал медленным, хотя никто ничего не менял?

Частая причина — период актуальности итогов «отстал» от текущей даты, например после сбоя регламентного задания или аварийного прерывания перепроведения. Проверьте состояние итогов в конфигураторе и актуализируйте период.

Нужно ли управлять итогами в файловой базе?

Механизм работает и в файловом варианте, но острота вопроса ниже: в небольших базах отчёты быстры и без тонкой настройки. Управление итогами становится критичным в клиент-серверных базах с большим объёмом движений и параллельной работой пользователей.

Можно ли пересчитать итоги, не заходя в конфигуратор?

Да, программно из внешней обработки или регламентного задания методами менеджера регистра: УстановитьПериодРассчитанныхИтогов и УстановитьИспользованиеИтогов. В типовых конфигурациях также есть штатные сервисные обработки для обслуживания регистров.

Исправит ли пересчёт итогов неверные остатки в отчёте?

Нет. Итоги — это только ускоритель чтения, они всегда отражают фактические движения. Если остаток неверен, причина в документах: исправлять нужно перепроведением, корректировкой или регистрацией ошибочных движений, а не пересчётом итогов.