Когда файловая база перестала открываться, 1С прямо указала на 1Cv8.1CD. Первое, что я сделал, — скопировал повреждённый файл целиком. Запускать исправление на единственном экземпляре базы слишком рискованно.
Проблема
При запуске предприятия и конфигуратора появлялось сообщение:
> Файл базы данных повреждён …\1Cv8.1CD
Перед исправлением
Я завершил все сеансы, остановил программы резервного копирования и убедился, что файл больше никто не держит. Затем сделал побайтовую копию каталога базы на другой диск. На диске нужно свободное место минимум в два размера базы: под копию и временные файлы проверки.
Решение через chdbfl
- Нашёл
chdbfl.exeв каталогеbinустановленной платформы 1С. Версия платформы должна быть не ниже той, в которой работала база. - Запустил утилиту от имени администратора.
- Указал копию файла
1Cv8.1CD, а не рабочий оригинал. - Добавил восстановленную копию в список баз под новым именем и проверил документы за последние рабочие дни.
4. Сначала выполнил проверку и сохранил результат. 5. Затем включил исправление обнаруженных ошибок и повторил обработку. Утилита может удалить нечитаемые страницы, поэтому часть данных после ремонта способна пропасть.
В моём случае утилита нашла ошибки, исправила их, и база открылась. Но chdbfl не заменяет резервную копию: после восстановления я обязательно проверяю учётные данные и как можно быстрее переношу файловую базу с нестабильного сетевого хранилища.
Если chdbfl не помог
Лучший вариант — восстановить последнюю исправную резервную копию. Если её нет, сторонние утилиты восстановления я запускаю только на отдельной копии: повреждённый оригинал больше не трогаю. Даже если такая база открылась, я не оставляю её рабочей без сверки документов, движений и итогов.
Получилось или остались вопросы?
Поделитесь результатом, дополните инструкцию своим опытом или задайте вопрос. Я читаю комментарии и обновляю статьи по реальным случаям.