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