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

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

Какие варианты пересчёта итогов доступны в 1С

Какие варианты пересчета итогов доступны в 1С: полный, выборочный, через конфигуратор и обработки. Когда нужен пересчет, как проверить результат и избежать ошибок.

Итоги в 1С — это предварительно рассчитанные агрегированные данные (остатки по регистрам накопления, обороты по регистрам бухгалтерии), которые позволяют быстро строить отчёты и получать остатки без обхода всех документов. Когда итоги «расходятся» с данными документов — из-за аварийного завершения работы, ошибок обмена, прямых операций с базой или сбоев при проведении — отчёты начинают показывать неверные остатки. Единственный способ восстановить корректность — выполнить пересчёт итогов.

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

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

Когда возникает необходимость в пересчёте итогов

Признак проблемы с итогами — расхождение между отчётом по остаткам и данными документов. Например, отчёт «Остатки товаров» показывает по складу 10 единиц номенклатуры, а карточка счёта или оборотно-сальдовая ведомость с детализацией до документов даёт 12. Другой типичный симптом — отчёт за прошлый, «закрытый» период внезапно меняет значения, хотя документы не перепроводились.

К типичным причинам рассинхронизации относятся: аварийное завершение работы сервера 1С или СУБД в момент проведения документов, восстановление базы из копии средствами СУБД без последующего пересчёта, прямые изменения данных в обход платформы, ошибки при обмене данными и загрузке из внешних источников, а также отмена проведения документов задним числом без контроля последовательностей.

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

Остатки не сходятсяОтчёт по итогам противоречит данным документов

Сравните отчёт по остаткам с обороткой в детализации до документа

Прошлый период изменилсяЗакрытый месяц вдруг показывает другие цифры

Проверьте, не перепроводились ли документы задним числом

Отчёт строится долгоПлатформа не может использовать рассчитанные итоги

Проверьте границу рассчитанных итогов в управлении итогами

Был сбой сервераАварийное завершение во время проведения

Запланируйте пересчёт итогов по затронутым регистрам

Пересчёт итогов через режим «Управление итогами» в конфигураторе

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

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

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

Пересчёт итогов в конфигураторе
  1. 1
    Сделайте резервную копию базы (выгрузку .dt или средствами СУБД)
  2. 2
    Откройте конфигуратор, при необходимости завершите сеансы пользователей
  3. 3
    Перейдите: Администрирование → Управление итогами
  4. 4
    Выберите регистр и укажите период пересчёта
  5. 5
    Нажмите «Пересчитать итоги» и дождитесь завершения
  6. 6
    Проверьте результат: сформируйте проблемный отчёт и сверьте с данными документов

Пересчёт через «Тестирование и исправление»

Утилита «Тестирование и исправление» (меню «Администрирование» в конфигураторе или запуск конфигуратора с параметром) включает проверку «Пересчёт итогов». Она выполняет полный пересчёт по всем регистрам, для которых включено использование итогов, без возможности выбрать конкретный регистр или период.

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

Практическая рекомендация: если известен проблемный регистр, не запускайте полное тестирование ради одного пересчёта — используйте «Управление итогами» или программный способ. Полное тестирование оставьте для планового обслуживания и постсбойного восстановления.

Программный пересчёт итогов из встроенного языка

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

bsl
РегистрыНакопления.ТоварыНаСкладах.ПересчитатьИтоги();
РегистрыБухгалтерии.Хозрасчетный.ПересчитатьИтоги();

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

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

Перепроведение документов как косвенный способ

Если итоги расходятся из-за некорректно проведённых или отменённых документов, помогает перепроведение документов по регистру за проблемный период. В типовых конфигурациях для этого есть обработка «Проведение документов» (раздел «Администрирование» или «Все функции»), а также механизм восстановления последовательностей.

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

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

Управление границей итогов и режимы расчёта

Помимо пересчёта, платформа позволяет управлять тем, как итоги используются. Для регистров накопления доступно отключение итогов при записи (режим, при котором итоги не обновляются при каждом проведении документа, что ускоряет массовую загрузку данных). После такой загрузки итоги обязательно нужно пересчитать и включить обратно — иначе отчёты будут показывать устаревшие остатки.

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

Сравнение вариантов пересчёта

Управление итогами

Точечный пересчёт по регистру и периоду; лучший выбор при локальной проблеме; требует доступа к конфигуратору

Тестирование и исправление

Полный пересчёт всех регистров; для постсбойного восстановления; долго и только в монопольном режиме

Программный метод

Автоматизация и регламентный пересчёт без конфигуратора; требует прав на выполнение кода

Перепроведение документов

Исправляет и движения, и итоги; медленно и изменяет данные, не подходит для закрытых периодов

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

После пересчёта обязательно проверьте результат: сформируйте тот же отчёт, в котором обнаружили расхождение, и сверьте его с детальными данными по документам. Для регистров бухгалтерии дополнительно проверьте сальдо по активно-пассивным счетам — оно не должно уходить в «красные» значения без объективных причин.

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

Типичные ошибки при пересчёте итогов
01
Запуск полного тестирования вместо точечного пересчёта — часы простоя базы вместо нескольких минут
02
Пересчёт без резервной копии — при сбое в процессе восстанавливать будет нечего
03
Принудительное прерывание пересчёта — риск оставить итоги в ещё худшем состоянии
04
Перепроведение закрытого периода вместо пересчёта — изменение данных, по которым сдана отчётность
05
Забыть пересчитать итоги после массовой загрузки с отключёнными итогами — отчёты показывают старые остатки
Контрольные точки

Как проверить результат пересчёта

Отчёт по остаткам против детализации до документов
Норма

Суммы совпадают

Тревожный признак

Расхождение сохраняется — проверяйте движения документов

Отчёт за прошлый закрытый период
Норма

Значения стабильны и соответствуют сданной отчётности

Тревожный признак

Цифры изменились — искать, кто перепроводил документы

Скорость формирования отчётов
Норма

Отчёты строятся быстро, итоги используются

Тревожный признак

Отчёт «думает» — проверьте границу рассчитанных итогов

FAQ: частые вопросы о пересчёте итогов в 1С

Можно ли пересчитывать итоги, пока пользователи работают?

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

Как часто нужно пересчитывать итоги в профилактических целях?

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

Чем пересчёт итогов отличается от перепроведения документов?

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

Почему после пересчёта итогов отчёт всё равно показывает неверные остатки?

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

Нужно ли пересчитывать итоги после восстановления базы из копии?

Да, это рекомендуемая практика, особенно если копия создавалась средствами СУБД «на горячую» или восстановление происходило после сбоя. Полный пересчёт через тестирование и исправление гарантирует, что агрегированные данные соответствуют восстановленным документам.

Что делать, если пересчёт итогов занимает слишком много времени?

Сократите объём: пересчитывайте не все регистры, а только проблемный, и ограничьте период. Проверьте индексы и состояние СУБД — иногда медленный пересчёт указывает на фрагментацию или нехватку ресурсов сервера. На очень больших регистрах имеет смысл выполнять пересчёт ночью по расписанию.

Итог

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

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