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