Повреждён файл 1Cv8.1CD: проверка и исправление через chdbfl.exe
Содержание
Утилита восстановления файловой базы данных 1С — это chdbfl.exe из папки bin установленной платформы. Чтобы ей пользоваться, выгоните всех пользователей из базы, сделайте копию файла 1Cv8.1CD, запустите chdbfl.exe, укажите путь к файлу, поставьте флажок «Исправлять обнаруженные ошибки» и нажмите «Выполнить».
Частая ошибка — запускать chdbfl как первое средство при любой странности в 1С. Утилита чинит только физическую структуру файла: страницы, заголовки таблиц, индексы. Неправильные остатки, «битые» ссылки и ошибки в учёте она не исправляет — это делается уже в Конфигураторе, после неё.
Когда chdbfl нужна, а когда бесполезна
Утилита работает только с файловыми базами — теми, что хранятся одним файлом 1Cv8.1CD в каталоге на диске. Для клиент-серверной базы на MS SQL или PostgreSQL она не подходит: там структуру проверяют средства самой СУБД.
Поводы запустить chdbfl:
- 🔴 при входе или работе появляется
Ошибка СУБД: Файл базы данных поврежден; - 🔴 база падает на одном и том же документе, справочнике или отчёте;
- 🔴 перед этим пропало питание, «повис» компьютер или оборвалась сеть, когда база была открыта с общего ресурса;
- 🟡 Конфигуратор не может выполнить тестирование и исправление, вылетает на этапе проверки;
- 🟡 нужно убедиться, что файл цел, перед переносом базы или обновлением.
Когда утилита не поможет:
- ⚪ база не открывается из-за лицензии, прав пользователя или пароля;
- ⚪ ошибки в данных учёта: неверные остатки, пропавшие проводки, «Объект не найден» в реквизитах;
- ⚪ ошибки конфигурации — например,
Нарушение целостности структуры конфигурациипосле неудачного обновления. Тут сначала смотрят на саму конфигурацию и резервные копии.
Подготовка к восстановлению: копия файла и свободная база
chdbfl открывает файл базы напрямую, в обход платформы, и при исправлении переписывает его. Поэтому подготовка обязательна.
Шаг 1. Найдите каталог базы
В окне запуска 1С выделите базу в списке. Внизу окна отображается путь вида File="D:\Bases\Buh". В этом каталоге лежит файл 1Cv8.1CD — его и будем проверять.
Если путь не виден, нажмите «Изменить» и пройдите по шагам мастера: на втором шаге показан каталог информационной базы.
Шаг 2. Освободите базу
Утилите нужен монопольный доступ к файлу. Всем пользователям нужно выйти из 1С, включая Конфигуратор и фоновые обработки.
Если база открыта по сети с другого компьютера, закрытие окна на вашем ПК ничего не даст. Предупредите коллег заранее: при принудительном закрытии процесса 1cv8.exe у них потеряются несохранённые документы.
Проверить, что файл никто не держит, просто: попробуйте переименовать 1Cv8.1CD в проводнике и сразу верните имя обратно. Не даёт — файл занят. На сервере с общей папкой открытые файлы видно в оснастке «Управление компьютером» в разделе общих папок.
Шаг 3. Скопируйте файл
Сделайте копию 1Cv8.1CD до запуска утилиты с флажком исправления. Скопируйте файл в другой каталог, лучше на другой диск. Если исправление пойдёт не так, у вас останется исходник, с которым можно работать дальше.
Свободного места на диске нужно не меньше размера самой базы: копия плюс запас для работы утилиты.
Выгрузить .dt из повреждённой базы обычно не получается — платформа спотыкается на тех же страницах. Поэтому основная страховка — именно копия файла.
Как запустить утилиту chdbfl для проверки и исправления
Где лежит chdbfl.exe
Утилита ставится вместе с платформой и лежит в папке bin нужной версии:
C:\Program Files\1cv8\8.3.24.1548\bin\chdbfl.exe
Номер версии в пути у вас свой. Если на компьютере несколько платформ, берите chdbfl той версии, которой обычно открываете эту базу, или новее. Старая утилита может не понять формат файла, созданного новой платформой.
Для 32-разрядной платформы путь начинается с C:\Program Files (x86)\1cv8\.
Порядок работы в окне утилиты
- Запустите
chdbfl.exe. Если база лежит в системном каталоге или на диске с ограниченными правами — через «Запуск от имени администратора». - В поле «Имя файла БД» нажмите кнопку выбора и укажите
1Cv8.1CD. - Для первого прохода оставьте флажок «Исправлять обнаруженные ошибки» снятым. Это режим только проверки: файл не меняется.
- Нажмите «Выполнить» и дождитесь окончания. На базе в 2–3 ГБ это обычно минуты, на 20–30 ГБ — может занять час и больше.
- Если найдены ошибки — сохраните текст из окна, поставьте флажок исправления и запустите проверку ещё раз.
- После завершения закройте утилиту и только потом открывайте базу.
Пользователя и пароль 1С утилита не спрашивает: она работает с файлом, а не с информационной базой как приложением.
Не прерывайте исправление. Если остановить утилиту на середине — закрыть окно, выключить компьютер, — файл может стать хуже, чем был. Для ноутбука подключите зарядку, для сервера убедитесь, что ИБП в порядке.
Если утилита сразу пишет, что не может открыть файл
Почти всегда причина в одном из трёх:
- файл всё ещё занят процессом 1С — на этом или другом компьютере;
- нет прав на запись в каталог — запустите утилиту от администратора;
- антивирус в этот момент сканирует большой
.1CDи держит его.
Что означают сообщения утилиты восстановления
Цифровых кодов ошибок, как у Windows, у chdbfl нет. Результат — текстовый протокол в окне: перечень проблем с указанием таблицы базы, где они найдены, и итог проверки.
Имена таблиц в протоколе внутренние: _Document123, _Reference45, _AccumRg678, _InfoRg90. По префиксу понятно, какой тип объекта затронут:
| Префикс в протоколе | Что это в 1С | Чем грозит повреждение |
|---|---|---|
_Document… | Документы | Не открываются отдельные документы, ошибка при проведении |
_Reference… | Справочники | Пропадают элементы, ошибки при выборе в реквизитах |
_AccumRg…, _AccRg… | Регистры накопления и бухгалтерии | Неверные остатки и обороты, падают отчёты |
_InfoRg… | Регистры сведений | Сбиваются цены, курсы, настройки |
_Config…, Config, Params | Служебные таблицы конфигурации | База может не открываться вообще |
Сопоставить номер таблицы с конкретным объектом можно из Конфигуратора с помощью встроенного метода ПолучитьСтруктуруХраненияБазыДанных() — он возвращает соответствие имён метаданных и таблиц хранения.
Как действовать по итогу проверки:
- ✅ Ошибок нет. Файл физически цел. Проблему ищите в данных или конфигурации — переходите к тестированию в Конфигураторе.
- 🟡 Ошибки найдены и исправлены. Структура восстановлена, но часть записей могла быть удалена как нечитаемая. Обязательно проверьте данные (следующие разделы).
- 🔴 Ошибки в служебных таблицах конфигурации. Даже после исправления база может не запуститься. Готовьте вариант с резервной копией.
- 🔴 Утилита аварийно завершилась или зависла. Повторите на копии файла; если не помогает — см. раздел о том, что делать, когда chdbfl не справилась.
После восстановления файла: тестирование и проверка данных
chdbfl вернула файлу читаемую структуру. Теперь нужно привести в порядок логику данных.
Тестирование и исправление в Конфигураторе
- Откройте базу в режиме Конфигуратора.
- Выберите
Администрирование → Тестирование и исправление. - Отметьте проверку логической целостности, проверку ссылочной целостности и пересчёт итогов. Реиндексацию таблиц включите, если chdbfl сообщала о проблемах с индексами.
- Для начала выберите режим «Тестирование и исправление», а не только тестирование.
- Для битых ссылок выберите вариант создания объектов вместо удаления — так вы увидите, что пострадало, и сможете это восстановить.
- Нажмите «Выполнить» и сохраните протокол.
Ручная проверка
- 📌 Откройте документы за последние дни перед сбоем — именно их запись чаще всего обрывается.
- 📌 Сформируйте оборотно-сальдовую ведомость и сверьте остатки по ключевым счетам с последней сданной отчётностью.
- 📌 Найдите элементы с пометкой
<Объект не найден>— это следы удалённых записей. Их нужно заполнить заново по первичным документам. - 📌 Проверьте кадровые и складские остатки, если используются.
Свежая выгрузка
Когда база открывается и тестирование прошло без критических ошибок, сразу выгрузите её в .dt: в Конфигураторе Администрирование → Выгрузить информационную базу. Это будет первая «чистая» копия после аварии.
Загрузка этой выгрузки в новую пустую базу — неплохой способ получить полностью пересобранный файл без остаточных повреждений. Загрузку .dt делайте в новую базу, а не поверх рабочей, пока не убедитесь, что всё в порядке.
Если утилита chdbfl не справилась с восстановлением
Бывает, что chdbfl зависает, падает или после исправления база всё равно не открывается. Варианты по порядку — от безопасного к радикальному:
| Способ | Когда применять | Риски |
|---|---|---|
| Повтор chdbfl на свежей копии файла | Утилита прервалась или зависла | Почти нет, если работаете с копией |
| chdbfl более новой версии платформы | Старая утилита не открывает файл | Нужно установить платформу; база может потребовать её же для работы |
| Проверка диска и перенос файла на исправный носитель | Повторяются ошибки чтения, есть подозрение на диск | Работать с отказывающим диском опасно — сначала скопируйте файл |
| Восстановление из резервной копии | Повреждены служебные таблицы, утилита бессильна | Теряются данные после даты копии |
| Резервная копия + перенос данных за период | Копия старая, а повреждённая база частично читается | Трудоёмко, нужен специалист |
Если 1С пишет об ошибках чтения файла, а chdbfl то находит, то не находит повреждения — подозревайте сам диск. Скопируйте 1Cv8.1CD на другой носитель и проверьте диск средствами ОС, например chkdsk D: /f. Команда с ключом /f для системного диска выполняется при перезагрузке.
Не запускайте исправление повторно на одном и том же файле много раз подряд в надежде на чудо. Каждый проход может удалять ещё часть записей. Работайте с копиями, сравнивайте результат.
Пакетный режим и параметры запуска для регламентных проверок
У chdbfl нет документированного набора ключей командной строки — это инструмент для ручного запуска. Для регулярной проверки по расписанию используют пакетный режим Конфигуратора с параметром /IBCheckAndRepair. Он делает тестирование и исправление — то же, что пункт меню, но без участия человека.
Пример bat-файла для ночной проверки:
@echo off
set V8="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
%V8% DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /IBCheckAndRepair -LogIntegrity -RecalcTotals -TestOnly /Out"D:\Logs\check_buh.txt"
Что значат ключи:
-LogIntegrity— проверка логической целостности;-RecalcTotals— пересчёт итогов;-TestOnly— только проверка, без исправления. Уберите его, если нужно исправлять;/Out— файл протокола, его потом можно разобрать или отправить себе.
Пакетный запуск тоже требует, чтобы в базе никого не было. Ставьте его на ночь, когда гарантированно нет пользователей, и не храните реальный пароль администратора в открытом bat-файле на общем ресурсе.
Сама chdbfl в такой сценарий не встраивается: её запускают руками, когда проверка в Конфигураторе уже показала проблемы или база не открывается.
Как защитить файловую базу от повреждений
Почти все повреждения 1Cv8.1CD — следствие оборванной записи. Защита сводится к тому, чтобы запись не обрывалась, а если оборвалась — было откуда восстановиться.
- 🔌 ИБП. На компьютер или сервер, где лежит файл базы, — обязательно. Отключение света во время проведения документа — классический путь к
Файл базы данных поврежден. - 🌐 Стабильная сеть. Файловая база по сети на Wi-Fi или через VPN — постоянный риск. Для удалённой работы лучше терминальный доступ или веб-публикация.
- 🛡️ Исключения в антивирусе. Добавьте каталог с базами в исключения проверки в реальном времени: сканирование большого
.1CDтормозит работу и мешает записи. - 💾 Резервные копии. Ежедневная копия файла
1Cv8.1CD, снятая, когда в базе никого нет, плюс периодическая выгрузка.dt. Копии храните на другом носителе. - 👥 Число пользователей. Файловая база рассчитана на небольшую команду. Если одновременно работают 8–10 человек и больше, задумайтесь о переходе на клиент-серверный вариант.
- 🧹 Регламентная проверка. Раз в месяц — тестирование в пакетном режиме по расписанию, раз в квартал — проверка chdbfl в режиме без исправления.