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

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

1С: как запустить тестирование и исправление информационной базы

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

Ошибки вида «Ошибка формата потока», «Файл базы данных поврежден» или внезапные вылеты платформы при открытии документов — типичные симптомы повреждения информационной базы 1С. В таких случаях первым штатным инструментом диагностики служит процедура «Тестирование и исправление», встроенная в конфигуратор, а для файловых баз — утилита проверки физической целостности chdbfl.exe.

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

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

Когда тестирование и исправление действительно необходимо

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

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

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

СимптомОшибка формата потока при открытии объекта

Вероятно повреждение данных — нужна проверка chdbfl и тестирование

СимптомОшибка СУБД: таблица не найдена

Возможна рассинхронизация метаданных — поможет реструктуризация в тестировании

СимптомБаза работает, но итоги расходятся

Скорее учётная проблема — сначала проверьте перепроведение и закрытие периода

Симптом1С вылетает на конкретном документе

Типичный признак повреждённой записи — нужно тестирование с исправлением

Обязательная подготовка перед запуском

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

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

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

Проверка файловой базы утилитой chdbfl.exe

Для файловых баз (один файл 1Cv8.1CD) первым шагом рекомендуется утилита проверки физической целостности chdbfl.exe. Она находится в каталоге установки платформы, в папке bin соответствующей версии. Утилита работает ниже уровня конфигуратора — проверяет саму структуру файла базы данных и умеет исправлять повреждения, которые «Тестирование и исправление» даже не обнаружит.

Запустите chdbfl.exe, укажите путь к файлу 1Cv8.1CD, установите флажок «Исправлять обнаруженные ошибки» и нажмите «Выполнить». Проверка идёт быстро даже на больших файлах. По завершении утилита покажет, найдены ли повреждения и устранены ли они.

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

Порядок действий для файловой базы
  1. 1
    Закройте 1С у всех пользователей и скопируйте файл 1Cv8.1CD в резервный каталог
  2. 2
    Запустите chdbfl.exe из каталога bin нужной версии платформы
  3. 3
    Укажите путь к 1Cv8.1CD, включите исправление ошибок и выполните проверку
  4. 4
    Откройте базу в конфигураторе и запустите Тестирование и исправление
  5. 5
    Проверьте работоспособность базы в пользовательском режиме

Запуск тестирования и исправления в конфигураторе

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

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

В нижней части окна выбирается режим: «Тестирование» (только диагностика, без изменений) или «Тестирование и исправление». Правильная тактика — сначала прогнать только тестирование и изучить список ошибок в окне сообщений, затем осознанно запустить исправление. Для ссылочной целостности дополнительно выбирается, что делать с объектами, у которых потеряны связи: не изменять, создавать объекты, очищать ссылки или удалять объекты. Безопасный вариант для первого прохода — «Не изменять», чтобы оценить масштаб проблемы.

Особенности для клиент-серверных баз

В клиент-серверном варианте (MS SQL Server, PostgreSQL и др.) утилита chdbfl не применяется — файла 1Cv8.1CD нет. Тестирование и исправление запускается так же через конфигуратор, но перед этим нужно установить блокировку сеансов в консоли кластера или в параметрах информационной базы, иначе пользователи продолжат подключаться во время процедуры.

Для серверных баз часть задач эффективнее решать средствами самой СУБД: проверка целостности (например, DBCC CHECKDB для MS SQL), перестроение индексов, обновление статистики. Тестирование и исправление 1С при этом остаётся инструментом проверки именно прикладной логики — ссылок, итогов, соответствия метаданных.

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

Сравнение вариантов восстановления

chdbfl.exe

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

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

Универсальный штатный способ; требует монопольного доступа и времени, гибкие режимы проверки

Восстановление из копии

Самый надёжный вариант при серьёзных повреждениях; цена — потеря данных, введённых после создания копии

Выгрузка/загрузка dt

Помогает при повреждениях, которые мешают работе, но не мешают выгрузке; фактически пересоздаёт базу

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

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

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

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

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

Окно сообщений после процедуры
Норма

Ошибки найдены и исправлены, либо не обнаружены

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

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

Открытие проблемных объектов
Норма

Документы и отчёты открываются без ошибок

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

Ошибка формата потока воспроизводится

Итоги по регистрам
Норма

Остатки сходятся с контрольными значениями

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

Расхождения сохраняются — нужен пересчёт итогов или анализ учёта

Журнал регистрации
Норма

Нет новых ошибок СУБД при работе пользователей

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

Ошибки появляются снова — возможна проблема с диском или сервером

Профилактика повреждений базы

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

Регулярные резервные копии — единственная гарантия восстановления. Настройте автоматическое копирование файловой базы или штатные бэкапы СУБД по расписанию и периодически проверяйте, что копия реально разворачивается. Копия, которую ни разу не проверяли восстановлением, — это предположение, а не защита.

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

Итог

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

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

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

Где находится утилита chdbfl.exe?

В каталоге установки платформы 1С, в папке bin конкретной версии, например: C:\Program Files\1cv8\<номер версии>\bin\chdbfl.exe. Если установлено несколько версий платформы, используйте утилиту из версии, под которой работает база.

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

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

Можно ли прервать запущенное тестирование?

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

Тестирование не нашло ошибок, но база всё равно работает со сбоями. Что делать?

Проверьте инфраструктуру: состояние дисков (SMART), стабильность сети, логи сервера 1С и СУБД, версию платформы — часть проблем решается обновлением релиза. Также попробуйте выгрузку и загрузку базы через dt: этот процесс пересоздаёт структуру хранения и устраняет дефекты, невидимые для тестирования.

Чем отличается «Тестирование» от «Тестирование и исправление»?

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

Обязательно ли делать выгрузку в dt, если есть копия файла базы?

Для файловой базы копии 1Cv8.1CD обычно достаточно — это полный снимок данных. Выгрузка в dt дополнительно полезна как независимый формат: если сам файл базы повреждён так, что не копируется, выгрузка может оказаться единственным способом спасти данные. Для клиент-серверных баз копия делается средствами СУБД или выгрузкой в dt.