Слетела база 1С: как вернуть данные и что делать в первую очередь
Содержание
Восстановление базы 1С после сбоя начинают с копии повреждённой папки или файла 1Cv8.1CD, и только потом что-то чинят. Дальше порядок такой: свежая резервная копия есть — загружаете её. Копии нет или она старая — запускаете тестирование и исправление в Конфигураторе. Конфигуратор не открывает файловую базу
— проверяете файл утилитой chdbfl.exe.
Каждый следующий способ рискованнее предыдущего: исправление может удалить битые объекты, а восстановление из копии отбрасывает всё, что ввели после неё. Поэтому выбирают не самый быстрый способ, а тот, при котором теряется меньше данных. Инструкция ниже — для платформы 1С:Предприятие 8.3, файловых и клиент-серверных баз.
Признаки того, что база 1С повреждена, и первые действия
Повреждение редко выглядит как «пропало всё». Обычно база перестаёт открываться или падает на одном и том же действии.
Типичные симптомы:
- 🛑 при запуске выходит
Файл базы данных поврежденилиНеверный формат хранилища данных; - 🧩 Конфигуратор пишет
Нарушение целостности структуры конфигурации; - 🔁
Ошибка формата потокапри открытии базы или конкретной формы; - 📉 отчёты показывают странные остатки, хотя документы проведены правильно;
- 👻 в документах вместо контрагента или номенклатуры стоит
<Объект не найден>.
Частые причины: отключение питания во время записи, обрыв сети при работе с файловой базой в общей папке, заполненный диск, антивирус, который блокирует файл 1Cv8.1CD, сбой жёсткого диска.
Что сделать до любых исправлений
- Попросите всех пользователей выйти из программы. В клиент-серверной базе проверьте сеансы в консоли кластера.
- Скопируйте каталог файловой базы целиком на другой диск. Для клиент-серверной базы сделайте резервную копию средствами СУБД.
- Проверьте свободное место на диске. Если его меньше размера базы, исправление может оборваться на середине.
- Запишите точный текст ошибки. Он понадобится, если придётся звать специалиста.
Никогда не запускайте исправление на единственном экземпляре повреждённой базы. Если утилита удалит нужные данные, вернуться будет не к чему.
Какой способ восстановления базы 1С выбрать
| Способ | Когда подходит | Что можно потерять |
|---|---|---|
| Загрузка резервной копии | Копия свежая, сбой серьёзный | Всё, что ввели после копии |
| Тестирование и исправление | База открывается в Конфигураторе | Битые записи и объекты |
chdbfl.exe | Файловая база не открывается вовсе | Повреждённые страницы файла |
| Выгрузка данных в новую базу | Конфигуратор открывается, режим «Предприятие» — нет | Обычно ничего, если выгрузка прошла |
| Специалист или сервис восстановления | Ни один способ не сработал | Зависит от степени повреждения |
Если резервной копии нет, идите сверху вниз по таблице, начиная со второй строки. Если копия вчерашняя, а за сегодня введено десять документов, проще загрузить копию и перебить их вручную.
Способ 1. Восстановление базы 1С из резервной копии
Это самый предсказуемый вариант: вы точно знаете, на какой момент вернутся данные.
Файловая база: копия папки
Если копия сделана простым копированием каталога:
- Закройте базу у всех пользователей.
- Переименуйте повреждённую папку, например в
Buh_broken. Не удаляйте её. - Скопируйте папку из резервной копии на место старой под прежним именем.
- Запустите базу и проверьте последние документы.
Копия в формате .dt
Файл .dt — это выгрузка базы из Конфигуратора. Загружают его так:
- Откройте базу в режиме
Конфигуратор. - Выберите
Администрирование → Загрузить информационную базу. - Укажите файл
.dtи подтвердите загрузку.
Загрузка .dt полностью заменяет данные в базе, куда вы загружаете. Если сомневаетесь, создайте новую пустую базу и загрузите копию туда — так оба экземпляра останутся.
Встроенное резервное копирование в конфигурации
В БП 3.0, ЗУП 3.1 и других конфигурациях на БСП для файловых баз есть раздел Администрирование → Обслуживание → Резервное копирование и восстановление. Если копирование там было настроено, в этом же разделе есть команда восстановления из выбранной копии.
Клиент-серверная база
Для базы на MS SQL Server или PostgreSQL данные восстанавливают средствами СУБД: из полной копии и, если есть, журналов транзакций. Это работа администратора СУБД. Со стороны 1С после восстановления достаточно проверить, что база открывается и последние документы на месте.
💡 Если резервная копия старше одного-двух дней, сначала попробуйте способ 2 на копии повреждённой базы. Нередко исправление возвращает всё без потерь, и резервная копия не понадобится.
Способ 2. Тестирование и исправление базы в Конфигураторе
Это штатный механизм платформы. Он работает для файловых и клиент-серверных баз и требует монопольного доступа: пока он идёт, в базе никого не должно быть.
Как запустить
- Откройте базу в режиме
Конфигуратор. - Выберите
Администрирование → Тестирование и исправление. - Отметьте проверки и режим, нажмите «Выполнить».
Какие флажки ставить
- Реиндексация таблиц информационной базы — перестраивает индексы. Безопасна, лечит многие ошибки при открытии форм.
- Проверка логической целостности — ищет нарушения во внутренней структуре данных.
- Проверка ссылочной целостности — находит ссылки на несуществующие объекты, те самые
<Объект не найден>. - Пересчёт итогов — заново считает итоги регистров. Помогает, когда отчёты показывают неверные остатки.
- Сжатие таблиц — убирает пустое место. Для восстановления не обязательно, только увеличивает время.
- Реструктуризация таблиц — пересоздаёт таблицы. Самая долгая операция, включайте, если более мягкие проверки не помогли.
Режим: тестирование или исправление
Сначала запустите режим «Тестирование» — он только показывает ошибки и ничего не меняет. Посмотрите отчёт: если ошибок пара десятков и они касаются одного-двух справочников, переходите к исправлению.
В режиме «Тестирование и исправление» программа спрашивает, что делать с проблемами:
| Ситуация | Варианты | Что выбрать обычно |
|---|---|---|
| Ссылки на несуществующие объекты | Создавать объекты / Очищать ссылки / Не изменять | Создавать объекты |
| Частичная потеря данных объектов | Создавать объекты / Удалять объекты / Не изменять | Создавать объекты |
Вариант «Создавать объекты» безопаснее: программа создаёт объекты-заглушки, и документы сохраняют связи. Потом заглушки можно найти и заменить настоящими элементами. Вариант «Очищать ссылки» и «Удалять объекты» уничтожает данные безвозвратно.
Пакетный запуск
Если базу нужно проверить ночью или по расписанию, исправление запускают из командной строки:
"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:\Logs\check.txt"
Вместо 8.3.xx.xxxx подставьте номер установленной платформы. Результат проверки попадёт в файл, указанный после /Out.
Способ 3. Утилита chdbfl.exe для файловой базы
Когда файловая база не открывается даже в Конфигураторе, остаётся проверка самого файла 1Cv8.1CD. Для этого в комплекте платформы есть утилита chdbfl.exe. С клиент-серверными базами она не работает.
Где найти
Утилита лежит в каталоге bin установленной платформы:
C:\Program Files\1cv8\8.3.xx.xxxx\bin\chdbfl.exe
Если папки 1cv8 нет, проверьте C:\Program Files (x86)\1cv8 — там стоит 32-разрядная платформа.
Как проверить и исправить файл
- Убедитесь, что базу никто не открыл: утилита требует, чтобы файл был свободен.
- Запустите
chdbfl.exeдвойным щелчком. - В поле с именем файла БД укажите путь к
1Cv8.1CD— именно к копии, а не к рабочему файлу. - Сначала запустите проверку без флажка «Исправлять обнаруженные ошибки» и посмотрите результат.
- Если ошибки есть, включите флажок и запустите ещё раз.
- После успешного исправления откройте базу в Конфигураторе и выполните тестирование и исправление из способа 2.
chdbfl.exe исправляет ошибки, удаляя повреждённые страницы файла. Если пострадали страницы с документами, они пропадут. Поэтому перед запуском — копия файла.
💡 Если утилита сообщает об ошибках чтения диска, остановитесь. Проблема в железе: сначала перенесите копию на исправный диск и проверяйте уже её.
Способ 4. Если база не открывается: как вытащить данные
Бывает, что Конфигуратор открывается, а режим «Предприятие» — нет. Или база работает, но падает на одном разделе. В таких случаях данные переносят в чистую базу.
Выгрузка в .dt
- Откройте базу в режиме
Конфигуратор. - Выберите
Администрирование → Выгрузить информационную базуи сохраните файл.dt. - Создайте новую пустую базу в окне запуска.
- Загрузите в неё файл
.dtчерезАдминистрирование → Загрузить информационную базу.
Выгрузка и загрузка пересобирают таблицы заново. Часть ошибок, связанных со структурой файла, после этого исчезает сама.
То же самое можно сделать командной строкой: /DumpIB "D:\Backup\buh.dt" для выгрузки и /RestoreIB "D:\Backup\buh.dt" для загрузки в режиме DESIGNER.
Если повреждена конфигурация
Ошибка Нарушение целостности структуры конфигурации касается не данных, а программной части. Варианты:
- Если повреждена только основная конфигурация, а конфигурация базы данных цела, выберите
Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД. - Если доработок не было, возьмите файл
.cfтой же типовой конфигурации и того же релиза и сравните с текущей. - Если конфигурация дорабатывалась, ищите её
.cfу программиста или в старой резервной копии.
Не загружайте .cf другого релиза поверх повреждённой конфигурации наугад: структура данных изменится, и часть данных может не подойти к новым объектам.
Перенос через XML
Если выгрузка в .dt обрывается с ошибкой, данные иногда удаётся забрать по частям. Для этого используют универсальную обработку «Выгрузка и загрузка данных XML». Она выгружает выбранные справочники и документы в XML, а загружают их в новую базу той же конфигурации и того же релиза.
Перенос по частям долгий. Зато битый справочник можно пропустить, а остальное спасти.
Способ 5. Когда отдавать базу специалисту
Если ни один способ не помог, базу лечат вручную. Специалист разбирает файл или таблицы СУБД, восстанавливает связи и переносит то, что можно прочитать.
Куда обращаться:
- 🏢 к партнёру 1С, который обслуживает вашу организацию по договору ИТС: восстановление базы часто входит в линию консультаций или делается как платная разовая работа;
- 🔧 к программисту 1С, который дорабатывал конфигурацию: у него может быть копия и знание доработок;
- 💽 в сервис восстановления данных, если сломан сам диск — это задача по железу, а не по 1С.
Ориентировочно разовая работа по восстановлению базы у партнёра стоит от 3–5 тыс. руб. за простой случай до десятков тысяч, если нужен ручной перенос данных. Точную цену назовут после диагностики.
Что передать специалисту, чтобы не терять время:
- копию повреждённой базы (папку или копию СУБД), а не рабочий экземпляр;
- точный текст ошибки и снимок экрана;
- что делали до сбоя и какие способы уже пробовали;
- номер платформы и название, релиз конфигурации.
Как не потерять базу 1С в следующий раз
Восстановление базы из копии занимает минуты, а ручное спасение — дни. Профилактика стоит дешевле.
- 💾 Резервные копии по расписанию. Для файловой базы — ежедневная копия папки или выгрузка
.dtночью. Для клиент-серверной — полная копия средствами СУБД раз в сутки и журналы транзакций чаще. - 🗂 Правило трёх мест. Хранить копии не только на том же сервере, но и на другом диске и вне офиса.
- 🧪 Проверка копий. Раз в месяц разворачивайте копию в отдельную базу и открывайте её. Копия, которая не загружается, бесполезна.
- 🔌 Бесперебойник. Отключение питания во время записи — одна из главных причин повреждения файла
1Cv8.1CD. - 🌐 Не держите файловую базу на нестабильной сети. При пяти и более пользователях или работе через Wi-Fi лучше публикация или клиент-серверный вариант.
- 🛡 Исключения в антивирусе для каталогов баз и кэша 1С.
- 📏 Свободное место на диске — не меньше двух размеров базы, иначе обрывается и работа, и исправление.