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

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

Пересчет итогов в 1С: назначение, порядок выполнения и проверка результата

Что такое пересчет итогов в 1С, зачем он нужен, как выполнить через конфигуратор и тестирование, когда это безопасно и как проверить результат.

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

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

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

Что именно пересчитывается и где хранятся итоги

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

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

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

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

  • Отчет по остаткам противоречит движениям: карточка счета или регистра показывает одни суммы, а оборотно-сальдовая ведомость — другие на ту же дату.
  • После аварийного завершения работы сервера, отключения питания или сбоя СУБД появились «фантомные» остатки.
  • База восстановлена из копии или после загрузки данных из внешних источников отчеты стали заметно медленнее.
  • При проведении документа контроль остатков выдает отрицательный остаток там, где товар заведомо есть (или наоборот).
  • После массового программного изменения движений внешними обработками, которые писали в регистр напрямую.
Отчет противоречит движениямКлассический признак

Сравните отчет по остаткам с карточкой регистра за тот же период

Медленные отчетыКосвенный признак

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

Ложный контроль остатковСильный признак

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

Ошибки после сбояТиповая ситуация

Выполните тестирование и исправление с пересчетом итогов

Способы выполнить пересчет итогов

Есть несколько штатных путей. Выбор зависит от того, есть ли у вас доступ к конфигуратору и насколько масштабна задача.

Через «Тестирование и исправление» в конфигураторе

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

Через «Управление итогами» в режиме предприятия

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

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

Для точечного пересчета используются методы менеджеров регистров: РегистрыНакопления.ТоварыНаСкладах.ПересчитатьИтоги() и установка границы через УстановитьГраницуИтогов(). Это удобно в регламентных операциях и обработках обслуживания, но требует понимания, какой регистр затрагивается.

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

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

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

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

Точечно по регистрам из режима предприятия; доступно не во всех конфигурациях и не всем ролям

Программный пересчет

Гибко, можно автоматизировать; требует навыков разработки и аккуратности

Порядок безопасного выполнения

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

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

На больших клиент-серверных базах пересчет всех итогов может занять часы. Планируйте операцию на нерабочее время и оценивайте объем: регистры с миллионами движений пересчитываются долго. Если проблема локализована в одном регистре, предпочтительнее точечный пересчет через «Управление итогами» или код.

Как проверить, что пересчет помог

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

Контрольные точки

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

Отчет по остаткам против карточки регистра
Норма

Суммы совпадают на одну и ту же дату

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

Расхождение сохранилось — причина не в итогах

Контроль отрицательных остатков при проведении
Норма

Документ проводится, остаток реальный

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

Ложный отказ в проведении остался

Скорость построения отчета
Норма

Отчет формируется за привычное время

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

Отчет по-прежнему «висит» — проверьте границу итогов

Дата актуальности итогов
Норма

Граница итогов установлена на конец последнего закрытого периода

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

Граница в далеком прошлом

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

Типичные ошибки и ограничения

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

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

Профилактика: как снизить вероятность рассогласования

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

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

Итог

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

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

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

Удалятся ли документы или движения при пересчете итогов?

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

Сколько времени занимает пересчет итогов?

Зависит от объема регистров и производительности сервера: от минут на небольшой базе до нескольких часов на крупной клиент-серверной. Чтобы не блокировать работу, пересчитывайте конкретный регистр через «Управление итогами» или планируйте полную операцию на нерабочее время.

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

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

Пересчет сделал, а отчет по-прежнему не сходится. Что дальше?

Значит, причина в самих данных: ищите некорректные движения, ручные операции, документы с ошибками проведения или «битые» ссылки. Выполните проверку ссылочной целостности в «Тестировании и исправлении» и проанализируйте движения по проблемному объекту.

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

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

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

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