Блог 1С программиста (1С:Предприятие 8.3, конфигурация «Управление нашей фирмой»)

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

Тестирование и исправление базы 1С: chdbfl, ТиИ и порядок действий при ошибках

Чем chdbfl.exe отличается от тестирования и исправления в конфигураторе, какие галки ставить, в каком порядке лечить базу и что делать в клиент-серверном варианте.

Конфигурация
Платформа 8.3
Платформа
8.3.24 и новее
Уровень
Средний
Опубликовано
08.04.2026
Время чтения
9 мин

Содержимое

Два инструмента решают разные задачи, и путать их дорого. chdbfl.exe проверяет физическую целостность файла базы. Тестирование и исправление в конфигураторе работает уровнем выше — с логикой данных: ссылками, итогами, структурой таблиц.

chdbfl.exe — только для файловых баз

Лежит в каталоге платформы: C:\Program Files\1cv8\<версия>\bin\chdbfl.exe. Запускается при полностью закрытой базе, путь указывается к файлу 1Cv8.1CD.

Порядок работы всегда один:

  1. Сделать копию файла базы. Обязательно, без исключений — утилита правит файл на месте.
  2. Первый проход без флажка «Исправлять обнаруженные ошибки». Так вы узнаете масштаб проблемы, ничего не изменив.
  3. Если ошибки есть — второй проход с исправлением.
  4. После исправления — выгрузка в .dt и загрузка в новую базу. Это перестраивает структуру заново.

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

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

Конфигуратор → «Администрирование → Тестирование и исправление». Работает и с файловой, и с клиент-серверной базой, требует монопольного доступа.

Что делают проверки:

  • Реиндексация таблиц — перестраивает индексы. Безопасно, помогает при странных «не видит запись» и подтормаживаниях.
  • Проверка логической целостности — сверяет внутреннюю структуру таблиц с описанием метаданных.
  • Проверка ссылочной целостности — ищет ссылки на несуществующие объекты (битые ссылки). Тут вы выбираете реакцию: создавать объекты, очищать ссылки или удалять объект. Это единственный по-настоящему опасный пункт: «удалять объект» может унести документы.
  • Пересчёт итогов — после массовых перепроведений и правок регистров.
  • Реструктуризация таблиц информационной базы — самая долгая операция, физически перестраивает таблицы.
  • Сжатие таблиц информационной базы — освобождает место внутри файла после удалений.

Рабочий набор для планового обслуживания: реиндексация, логическая целостность, пересчёт итогов, режим «Тестирование и исправление». Ссылочную целостность включайте осознанно и только после копии.

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

Клиент-серверный вариант

Здесь целостность файлов — забота СУБД, а не платформы:

  • MS SQLDBCC CHECKDB по расписанию, план обслуживания с реиндексацией и обновлением статистики;
  • PostgreSQL — регламентный VACUUM ANALYZE, контроль раздувания таблиц, проверка журналов.

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

Типовые сообщения и что за ними стоит

СообщениеОбычная причинаЧто делать
«Ошибка формата потока»Повреждён файл базы или кэш клиентаОчистить кэш, затем chdbfl, при неудаче — копия
«Файл базы данных повреждён»Аварийное завершение, проблемы дискаchdbfl, проверка диска, восстановление из копии
«Обнаружены ошибки в структуре»Сбой при реструктуризации или обновленииТиИ с реструктуризацией, выгрузка/загрузка .dt
«Объект не найден» в отчётахБитые ссылкиПроверка ссылочной целостности, режим «очищать ссылки»
Некорректные остатки в отчётахСбитые итогиПересчёт итогов, при необходимости перепроведение

Порядок лечения «сломалась база»

  1. Никого не пускать в базу, снять копию в текущем состоянии, даже если она битая.
  2. Очистить кэш клиента: каталоги вида %LocalAppData%\1C\1cv8 и %AppData%\1C\1cv8. Удивительно часто помогает и не требует ничего больше.
  3. Файловая база — chdbfl без исправления, затем с исправлением.
  4. Тестирование и исправление, начиная с безопасных пунктов.
  5. Выгрузка в .dt и загрузка в новую пустую базу.
  6. Контрольная проверка: провести документ, построить отчёт, закрыть месяц на копии.

Регламент, чтобы не лечить

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