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