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

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

Как делать тестирование и исправление базы 1С

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

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

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

Главное правило перед любым запуском — сделать копию базы. Тестирование и исправление в режиме «исправлять ошибки» изменяет данные безвозвратно: битые объекты могут быть удалены, а ссылки — очищены. Без резервной копии откатить результат невозможно.

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

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

Ошибка формата потокаФайловая база повреждена физически

Запустите chdbfl.exe, затем тестирование в конфигураторе

Документ не проводится, хотя заполнен верноВозможно нарушение ссылочной целостности

Проверка ссылочной целостности в режиме «Тестирование и исправление»

База не открывается после сбоя питанияПовреждён файл 1Cv8.1CD или журнал транзакций

Копия файла, затем chdbfl с проверкой таблиц

Отчёты показывают неверные итогиРассинхронизация итогов регистров

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

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

Подготовка: резервная копия и монопольный доступ

Перед любыми восстановительными действиями создайте копию базы. Для файловой базы достаточно скопировать файл 1Cv8.1CD в отдельную папку при остановленной работе пользователей. Для клиент-серверной базы сделайте выгрузку через конфигуратор (Администрирование → Выгрузить информационную базу) или штатный бэкап средствами СУБД.

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

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

Штатный инструмент находится в меню «Администрирование → Тестирование и исправление». Окно предлагает выбрать проверки и режим: только тестирование (диагностика без изменений) или тестирование и исправление (с внесением изменений в данные).

Рекомендуемый порядок — сначала запустить только тестирование и изучить список ошибок в окне сообщений. Это покажет масштаб проблемы: единичные битые ссылки или массовые повреждения таблиц. После анализа запускайте исправление, выбирая только нужные проверки.

Порядок действий в конфигураторе
  1. 1
    Завершите все сеансы пользователей и сделайте копию базы
  2. 2
    Откройте конфигуратор, меню Администрирование → Тестирование и исправление
  3. 3
    Отметьте «Реиндексация таблиц» и «Проверка ссылочной целостности»
  4. 4
    Выберите режим «Тестирование» и запустите — изучите ошибки
  5. 5
    Если ошибки подтверждают повреждения, переключите на «Тестирование и исправление»
  6. 6
    После завершения проверьте работоспособность базы и ключевые документы

Какие проверки выбирать

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

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

Утилита chdbfl для файловых баз

Если файловая база не открывается даже в конфигураторе, используйте chdbfl.exe — утилиту проверки физической целостности. Она находится в каталоге bin установленной платформы (например, C:\Program Files\1cv8\<версия>\bin\chdbfl.exe).

Запустите утилиту, укажите путь к файлу 1Cv8.1CD, отметьте флажок «Исправлять обнаруженные ошибки» и нажмите «Выполнить». Утилита проверяет физическую структуру файла и удаляет повреждённые участки. Важно понимать: chdbfl работает «грубо» — повреждённые данные могут быть физически вырезаны из таблиц, поэтому копия файла обязательна.

Маршрут решения

Как выбрать действие

База открывается в конфигураторе, но есть ошибки в работеТестирование и исправление через конфигуратор
Файловая база не открывается вообще, ошибка формата потокаСначала chdbfl.exe, затем тестирование в конфигураторе
Клиент-серверная база, ошибки на уровне СУБДСредства проверки СУБД (например, DBCC для MS SQL), затем конфигуратор
Ошибки остались после всех процедурВыгрузка в dt и загрузка в новую пустую базу

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

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

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

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

Запуск базы
Норма

Открывается без ошибок в обычном режиме

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

Ошибка формата потока сохраняется

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

Проблемные документы проводятся

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

Ссылки на удалённые объекты, ошибки проведения

Отчёты и остатки
Норма

Итоги совпадают с данными до сбоя

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

Расхождения остатков, пустые регистры

Окно сообщений
Норма

Ошибок нет или они исправлены

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

Массовые сообщения об удалённых объектах

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

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

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

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

Итог

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

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

Часто задаваемые вопросы

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

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

Можно ли запускать тестирование при работающих пользователях?

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

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

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

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

Chdbfl проверяет физическую структуру файла 1Cv8.1CD и работает, даже когда база не открывается. Конфигуратор проверяет логическую и ссылочную целостность данных. Для пострадавшей файловой базы их обычно применяют последовательно: сначала chdbfl, затем конфигуратор.

Как часто нужно делать профилактическое тестирование?

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

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

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