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