Повреждена файловая база 1С 8.3: chdbfl, Конфигуратор и резервные копии
Содержание
Восстановить файловую базу
1С можно тремя способами: утилитой chdbfl.exe (без запуска 1С), режимом «Тестирование и исправление» в Конфигураторе или загрузкой резервной копии — выгрузки .dt либо копии файла 1Cv8.1CD. Утилита и Конфигуратор лечат саму базу и подходят, когда она открывается с ошибкой или не открывается вовсе. Резервная копия нужна, когда исправление не помогло или потеряна часть данных.
Порядок всегда один: сначала копия повреждённого файла, потом от мягкого способа к радикальному. Всё описанное относится к платформе 8.3 и не зависит от конфигурации — Бухгалтерия, ЗУП или УТ восстанавливаются одинаково.
1. Подготовка: копия повреждённой базы и оценка ущерба
Файловая база — это каталог, где главный файл 1Cv8.1CD хранит и данные, и конфигурацию. Любое исправление меняет этот файл. Если что-то пойдёт не так, без копии откатиться будет некуда.
Перед любым исправлением скопируйте весь каталог базы в другое место. Даже если база «и так сломана»: утилита может удалить объекты, которые потом можно было бы вытащить вручную.
Что сделать до копирования:
- Попросите всех пользователей закрыть 1С.
- Проверьте, что в каталоге базы нет файла
1Cv8.cdn. Это файл блокировки: он есть, пока с базой кто-то работает. Если пользователи вышли, а файл остался, перезагрузите компьютер, где лежит база, или проверьте в Диспетчере задач процессы1cv8.exeи1cv8c.exe. - Скопируйте каталог целиком, включая папку
1Cv8Log(это журнал регистрации).
Если база лежит на сетевой папке, копируйте её на локальный диск того компьютера, где будете чинить. Исправлять файл по сети медленно, а обрыв связи посреди проверки добавит новых повреждений.
Дальше оцените, что именно сломано. От симптома зависит способ:
2. Утилита chdbfl.exe: восстановление файловой базы без запуска 1С
chdbfl.exe — штатная утилита платформы «Тестирование и исправление файловой базы данных». Её часто ищут как «chbase», но в каталоге платформы файл называется именно chdbfl.exe. Она работает с файлом 1Cv8.1CD на низком уровне и не требует входа в базу. Поэтому её запускают первой, когда база не открывается.
Где лежит утилита:
C:\Program Files\1cv8\8.3.xx.xxxx\bin\chdbfl.exe
Вместо 8.3.xx.xxxx — номер установленной платформы. Если версий несколько, берите ту, на которой работает база.
Как запустить проверку:
- Убедитесь, что база никем не открыта.
- Запустите
chdbfl.exeот имени администратора. - В поле с именем файла укажите путь к
1Cv8.1CD. - Сначала запустите проверку без галочки «Исправлять обнаруженные ошибки». Утилита покажет, есть ли повреждения и сколько их.
- Если ошибки найдены, поставьте галочку и запустите ещё раз.
- Дождитесь окончания. На базе в 5–10 ГБ проверка может идти десятки минут — не прерывайте её.
Сохраните текст из окна утилиты до того, как закроете его. В нём видно, какие таблицы были повреждены. Если речь о таблице документов или регистра, после исправления сразу проверьте именно эти данные.
После успешной работы chdbfl.exe база обычно открывается. Но утилита чинит только физическую структуру файла. Ссылки на удалённые объекты и итоги регистров она не трогает — это следующий шаг.
3. Тестирование и исправление файловой базы в Конфигураторе
Когда база открывается в Конфигураторе, запустите полную проверку: Администрирование → Тестирование и исправление. Для этого режима нужен монопольный доступ — все пользователи должны выйти.
Какие флажки отмечать:
| Проверка | Что делает | Когда включать |
|---|---|---|
| Реиндексация таблиц информационной базы | Перестраивает индексы | Почти всегда, это безопасно |
| Проверка логической целостности | Ищет внутренние нарушения структуры | Всегда |
| Проверка ссылочной целостности | Находит «битые» ссылки на несуществующие объекты | После сбоя, при ошибках «Объект не найден» |
| Пересчёт итогов | Пересчитывает итоги регистров | Если остатки в отчётах не сходятся |
| Сжатие таблиц | Убирает пустое место в файле | Для уменьшения размера базы |
| Реструктуризация таблиц | Пересоздаёт таблицы заново | Самый долгий и радикальный вариант |
Ниже выберите режим: «Только тестирование» или «Тестирование и исправление». Начните с первого, чтобы увидеть масштаб.
Для найденных проблем есть две группы настроек:
- 🔗 При наличии ссылок на несуществующие объекты: «Создавать объекты», «Очищать ссылки» или «Не изменять».
- 🧩 При частичной потере данных объектов: «Создавать объекты», «Удалять объекты» или «Не изменять».
Безопаснее выбирать «Создавать объекты». Программа создаст пустые элементы-заглушки вида «Объект не найден (…)». Их потом легко найти и заменить вручную. Вариант «Очищать ссылки» стирает поле в документе, и узнать, что там было, уже не получится.
«Удалять объекты» убирает документы и элементы, которые не удалось прочитать целиком. Включайте его только если копия базы уже сделана, а содержимое удалённого вы готовы восстановить из резервной копии.
Тот же режим можно запустить из командной строки — удобно для ночной проверки:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /IBCheckAndRepair -ReIndex -LogAndRefsIntegrity -RecalcTotals -BadRefCreate -BadDataCreate /Out"D:\Bases\check.log"
Результат проверки попадёт в файл из параметра /Out.
4. Восстановить файловую базу 1С из резервной копии
Если исправление не помогло или после него пропали важные документы, остаётся резервная копия. Их бывает два вида.
Выгрузка .dt
Это «правильная» копия, сделанная через Конфигуратор или встроенное резервное копирование . Как загрузить:
- Создайте новую пустую базу в списке баз (или используйте повреждённую — её содержимое будет полностью заменено).
- Откройте её в Конфигураторе.
- Выберите
Администрирование → Загрузить информационную базуи укажите файл.dt. - Подтвердите замену данных и дождитесь сообщения об успешной загрузке.
Загрузка .dt полностью заменяет и данные, и конфигурацию. Поэтому грузите в новую пустую базу, если хотите сначала сравнить копию с текущим состоянием.
Копия каталога или файла 1Cv8.1CD
Если делали копию папки базы, достаточно положить сохранённый 1Cv8.1CD в каталог вместо повреждённого. Повреждённый файл не удаляйте, а переименуйте — например, в 1Cv8_broken.1CD.
Важное условие: копия файла годится, только если её сняли, когда в базе никто не работал. Файл, скопированный посреди работы пользователей, сам может оказаться битым. Проверьте его через chdbfl.exe сразу после восстановления.
Как вернуть данные, введённые после копии
Копия всегда отстаёт от момента сбоя. Чтобы понять, что вводить заново, откройте журнал регистрации из скопированной папки 1Cv8Log: положите её в каталог любой копии базы и в Конфигураторе выберите Администрирование → Журнал регистрации. Отберите события изменения данных за период от даты копии до сбоя. Видно, кто и какие документы создавал или менял — это готовый список для повторного ввода.
5. Технологический журнал и дампы: найти причину сбоя
Технологический журнал и дампы памяти не восстанавливают данные. Это инструменты диагностики: они отвечают на вопрос «почему база сломалась», а не «как её вернуть». Но без ответа сбой может повториться через неделю.
Что можно узнать:
- 📄 Дамп (
.mdmp) создаётся, когда 1С аварийно завершается. По нему специалист или поддержка видят, на каком действии упал процесс. - 📊 Технологический журнал включается файлом
logcfg.xmlв каталогеconfплатформы. В нём фиксируются исключения, ошибки СУБД, долгие операции. - 🧾 Журнал регистрации показывает последнюю операцию перед сбоем: например, проведение документа или обновление конфигурации .
Практический порядок такой:
- Посмотрите журнал регистрации за последние минуты перед сбоем. Если там видно обновление конфигурации или массовую обработку, причина почти найдена.
- Если 1С «падает» регулярно, включите технологический журнал на 1–2 дня и соберите дампы.
- Передайте журнал и дампы своему специалисту по 1С или в поддержку вашего партнёра.
Технологический журнал быстро растёт. Ограничьте в logcfg.xml срок хранения и включайте его только на время поиска причины.
6. Если сломана конфигурация или список баз
Бывает, что данные целы, а повреждена конфигурация или сам список баз на компьютере. Тут восстановление проще, чем кажется.
База пропала из списка
Список баз хранится в файле ibases.v8i в профиле пользователя: %APPDATA%\1C\1CEStart\ibases.v8i. Это обычный текстовый файл. Запись о файловой базе выглядит так:
[Бухгалтерия предприятия]
Connect=File="D:\Bases\Buh";
Если файл испорчен, проще не править его, а добавить базу
заново: в окне запуска 1С нажмите «Добавить», выберите «Добавление в список существующей информационной базы» и укажите каталог, где лежит 1Cv8.1CD.
Повреждена конфигурация
Ошибка «Нарушена целостность структуры конфигурации» после chdbfl.exe может остаться. Тогда:
- Откройте базу в Конфигураторе.
- Если основная конфигурация была изменена, но не сохранена в базу, выберите
Конфигурация → Вернуться к конфигурации БД. - Если это не помогло, загрузите исходную конфигурацию из файла
.cfтого же релиза:Конфигурация → Загрузить конфигурацию из файла, затемКонфигурация → Обновить конфигурацию базы данных.
Файл .cf нужного релиза есть в каталоге шаблонов конфигураций или его можно выгрузить из другой исправной базы той же версии. Для доработанной конфигурации нужна её собственная выгрузка — типовой .cf сотрёт доработки.
Не правьте файл 1Cv8.1CD в HEX-редакторе или сторонними программами на рабочей базе. Это последний шанс для специалиста, когда копий нет совсем, и работать он должен с копией файла.
7. Переход на клиент-серверный вариант как защита от повреждений
Файловая база хрупкая по устройству: все пользователи пишут в один файл по сети. Обрыв связи, «уснувший» ноутбук или отключение питания на одном компьютере могут повредить файл для всех.
В клиент-серверном варианте данные хранит СУБД — PostgreSQL или MS SQL Server. Запись идёт через сервер 1С, а СУБД сама следит за целостностью транзакций.
| Признак | Файловый вариант | Клиент-серверный |
|---|---|---|
| Где лежат данные | Файл 1Cv8.1CD | База в СУБД |
| Риск повреждения при обрыве сети | Высокий | Низкий |
| Резервное копирование | .dt или копия файла в нерабочее время | Средствами СУБД, без остановки работы |
| Число пользователей | Комфортно до 5–10 | Десятки и сотни |
| Затраты | Минимальные | Лицензия сервера 1С, отдельный сервер, администрирование |
Переход стоит рассматривать, если база повреждается не первый раз или пользователей больше пяти. Перенос делается через выгрузку .dt из файловой базы и загрузку в новую серверную.
8. Профилактика: регулярные копии и правильная настройка
Восстановить базу без копии получается не всегда. С копией — почти всегда. Поэтому главное в профилактике — автоматическое резервное копирование.
Встроенное копирование. В Бухгалтерии 3.0, ЗУП 3.1 и других конфигурациях на БСП для файловой базы есть Администрирование → Обслуживание → Резервное копирование и восстановление. Там задают расписание, каталог и число хранимых копий. Копия делается при выходе из программы или по времени.
Выгрузка по расписанию. Ночная выгрузка .dt через Планировщик заданий Windows:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpIB"E:\Backup\Buh_%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%.dt" /Out"E:\Backup\dump.log"
Перед выгрузкой все пользователи должны выйти. Задание ставьте на ночь и предупредите сотрудников, что база в это время недоступна.
Что ещё снижает риск повреждений:
- 🔌 ИБП на компьютере или сервере, где лежит база.
- 🛡️ Исключение каталога базы из проверки антивирусом. Сканирование файла во время записи — частая причина сбоев.
- 🌐 Стабильная сеть. Не работайте с файловой базой через Wi-Fi и VPN — для удалённой работы есть публикация на веб-сервере или терминальный доступ.
- 💤 Отключённый спящий режим на рабочих местах, где 1С может остаться открытой.
- 🗂️ Хранение копий отдельно от базы: на другом диске, в другом здании или в облаке.
- 🔁 Проверка копий. Раз в месяц разворачивайте копию в тестовую базу. Нечитаемая копия обнаружится до того, как понадобится.