Администрирование · 10 мин
Управление итогами в 1С 8.3: для чего нужно и как работает
Что такое управление итогами в 1С 8.3, для чего нужен период актуальности итогов, как включить режим и проверить результат. Разбор настроек и типичных ошибок.
Управление итогами — механизм платформы 1С:Предприятие 8.3, который определяет, за какой период система хранит предварительно рассчитанные итоги по регистрам накопления и регистрам сведений. Итоги нужны, чтобы отчёты и запросы по остаткам и оборотам выполнялись быстро: вместо пересчёта всех движений документов платформа читает готовую сводную таблицу. Без актуальных итогов отчёт «Остатки товаров» или «Взаиморасчёты с контрагентами» в большой базе может формироваться минутами вместо секунд.
Механизм важен в двух ситуациях. Первая — текущая работа: оперативные отчёты строятся на дату, и итоги должны быть актуальны на этот момент. Вторая — массовый перепроведение или закрытие периода: здесь итоги наоборот мешают, потому что при каждом проведении документа платформа пересчитывает их, и это замедляет операцию в разы. Управление итогами позволяет сознательно переключать эти режимы.
Настройки управления итогами задаются отдельно для каждого регистра накопления и регистра сведений (для регистров сведений — только если включён режим итогов). Найти их можно в конфигураторе через свойства регистра, а период актуальности итогов — также через кнопку «Изменить» в окне управления итогами. В типовых конфигурациях часть операций выполняется регламентными заданиями и процедурами закрытия месяца.
Что такое итоги регистров и как они устроены
Регистр накопления хранит движения документов — поступления, списания, перемещения. Полный пересчёт остатка «с нуля» требует просуммировать все движения с начала ведения учёта, что на больших базах занимает заметное время. Чтобы этого избежать, платформа ведёт служебные таблицы итогов: остатки на конец каждого периода (месяца) и обороты за период.
Когда пользователь строит отчёт на дату, для которой итоги актуальны, платформа берёт готовое значение из таблицы итогов и досчитывает только движения внутри текущего незакрытого периода. Это сокращает объём читаемых данных в десятки и сотни раз. Если же итоги не актуальны на нужную дату, отчёт всё равно построится, но будет считаться медленнее — платформа пересчитает данные с последней актуальной точки.
Для чего нужно управление итогами на практике
Первая задача — ускорение оперативной отчётности. Складские отчёты, взаиморасчёты, денежные средства и себестоимость опираются на итоги регистров. Если итоги актуальны, отчёт по остаткам открывается за секунды даже при миллионах записей в регистре. Поэтому период актуальности поддерживают на текущую дату или конец прошлого месяца.
Вторая задача — ускорение массовых операций. При перепроведении большого пакета документов каждое проведение обновляет итоги, и суммарные затраты времени растут. Отключение использования итогов на время операции снимает эту нагрузку: документы проводятся быстрее, а итоги пересчитываются один раз в конце.
Третья задача — контроль объёма базы. Хранение итогов за все месяцы истории увеличивает размер таблиц. Ограничение периода актуальности и использование режима «минимум итогов» позволяют сократить объём служебных данных в регистрах, где историческая отчётность строится редко.
Основные настройки: где находятся и что означают
В конфигураторе настройки итогов открываются через свойства регистра накопления или через команду «Управление итогами» в дереве конфигурации. Для регистра накопления доступны флаги «Использовать итоги» (для остатков) и режимы хранения. Для регистра сведений с измерениями можно включить итоги по срезу первых и последних значений.
Ключевые параметры, которые встречаются в окне управления итогами:
- Использовать итоги — главный флаг: платформа ведёт таблицу итогов и использует её при запросах. Отключение ускоряет запись, но замедляет отчёты.
- Минимальный период рассчитанных итогов — глубина хранения итогов в прошлое (месяц, квартал, год, пять лет). Чем меньше период, тем компактнее таблицы.
- Период актуальности итогов — дата, по которую итоги посчитаны. Устанавливается кнопкой в окне управления итогами или программно.
- Режим разделения итогов — механизм, при котором движения текущего периода пишутся отдельно от итогов, что снижает блокировки при параллельной работе пользователей.
Как установить период актуальности итогов
Стандартный сценарий — сдвинуть период актуальности на конец прошлого месяца после закрытия периода. В конфигураторе это делается через «Администрирование → Управление итогами»: выбирается регистр, нажимается кнопка установки периода и указывается дата. Платформа пересчитает итоги до указанной точки, что при большом объёме данных может занять продолжительное время.
Программно период актуальности устанавливается методом менеджера регистра:
РегистрыНакопления.ТоварыНаСкладах.УстановитьПериодРассчитанныхИтогов(КонецМесяца(ДобавитьМесяц(ТекущаяДатаСеанса(), -1)));В типовых конфигурациях (например, в ERP или «Комплексной автоматизации») актуализация итогов встроена в процедуры закрытия месяца и регламентные операции — вручную её выполнять обычно не требуется. Проверить текущее состояние можно тем же окном управления итогами: там отображается, по какую дату итоги рассчитаны.
- 1Сделайте резервную копию базы или убедитесь, что актуальная копия есть
- 2Откройте конфигуратор монопольно или в период минимальной нагрузки
- 3Перейдите в Администрирование → Управление итогами и выберите нужный регистр
- 4Установите период рассчитанных итогов на конец прошлого месяца
- 5Дождитесь завершения пересчёта и проверьте скорость контрольного отчёта
Отключение итогов при массовом перепроведении
При восстановлении последовательности или перепроведении документов за длительный период рекомендуемая схема такая: отключить использование итогов по задействованным регистрам, выполнить перепроведение, затем включить итоги обратно и установить период актуальности. Выигрыш по времени на больших объёмах может быть многократным.
Программно это выглядит так: метод УстановитьИспользованиеИтогов(Ложь) перед операцией и УстановитьИспользованиеИтогов(Истина) после неё. Важно, чтобы включение итогов выполнялось в том же обработчике, что и отключение, — иначе при аварийном прерывании регистр останется с отключёнными итогами, и отчёты замедлятся незаметно для пользователей.
Режим разделения итогов и блокировки
В клиент-серверных базах с десятками одновременно работающих пользователей узким местом становится конкуренция за запись итогов: проведение документов одного периода обновляет одни и те же записи таблицы итогов, что вызывает взаимоблокировки. Режим разделения итогов решает проблему: текущие движения пишутся отдельно, а итоги обновляются при сдвиге периода актуальности.
Включить режим можно в окне управления итогами для конкретного регистра. Он особенно полезен для «горячих» регистров — товаров на складах, взаиморасчётов, денежных средств. Плата за это — необходимость регулярно сдвигать период актуальности, иначе отчёты снова начнут тормозить, так как «разделённая» часть будет накапливаться.
Как выбрать действие
Как проверить результат и типичные ошибки
Контрольная проверка проста: откройте отчёт по остаткам на текущую дату и засеките время формирования до и после актуализации итогов. Если итоги актуальны, отчёт строится быстро; если нет — заметно дольше. Дополнительно в окне управления итогами видно, по какую дату рассчитаны итоги и включены ли они вообще.
Что важно запомнить
Управление итогами — это баланс между скоростью отчётов и скоростью записи. Держите период актуальности на текущем периоде, отключайте итоги при массовых перепроведениях с обязательным обратным включением, а при блокировках используйте режим разделения итогов. Все тяжёлые операции выполняйте вне рабочего времени и с резервной копией.
Частые вопросы
Исчезнут ли данные, если отключить использование итогов?
Нет. Отключается только служебная таблица сводных остатков. Движения документов в регистре сохраняются, и после включения итогов платформа пересчитает их заново. Риск — только временное замедление отчётов.
Как часто нужно сдвигать период актуальности итогов?
Обычно один раз после закрытия месяца — на конец прошлого периода. В типовых конфигурациях это часто делает регламентное задание или процедура закрытия месяца, тогда ручное вмешательство не требуется.
Почему отчёт стал медленным, хотя никто ничего не менял?
Частая причина — период актуальности итогов «отстал» от текущей даты, например после сбоя регламентного задания или аварийного прерывания перепроведения. Проверьте состояние итогов в конфигураторе и актуализируйте период.
Нужно ли управлять итогами в файловой базе?
Механизм работает и в файловом варианте, но острота вопроса ниже: в небольших базах отчёты быстры и без тонкой настройки. Управление итогами становится критичным в клиент-серверных базах с большим объёмом движений и параллельной работой пользователей.
Можно ли пересчитать итоги, не заходя в конфигуратор?
Да, программно из внешней обработки или регламентного задания методами менеджера регистра: УстановитьПериодРассчитанныхИтогов и УстановитьИспользованиеИтогов. В типовых конфигурациях также есть штатные сервисные обработки для обслуживания регистров.
Исправит ли пересчёт итогов неверные остатки в отчёте?
Нет. Итоги — это только ускоритель чтения, они всегда отражают фактические движения. Если остаток неверен, причина в документах: исправлять нужно перепроведением, корректировкой или регистрацией ошибочных движений, а не пересчётом итогов.