Сбой в базе 1С 8.3: найти причину и вернуть работу без потери данных

· 9 мин

Содержание

Чтобы исправить ошибку в 1С 8.3, идите от простого к сложному: прочитайте полный текст сообщения, очистите кэш клиента, затем запустите Конфигуратор → Администрирование → Тестирование и исправление. Только если это не помогло, переходите к утилите chdbfl.exe, очистке кэша сервера или восстановлению из резервной копии.

Типичная картина: утром бухгалтер открывает базу, а вместо рабочего стола видит Ошибка формата потока или Файл базы данных поврежден. Паника понятна, но данные при таких сообщениях часто целы. Повреждён кэш, индекс или одна таблица, и это лечится штатными средствами платформы.

Какие бывают ошибки 1С 8.3 и откуда они берутся

Ошибки удобно делить по месту возникновения. От этого зависит, где искать решение.

Где возниклаПримеры сообщенийЧастые причины
Клиент (компьютер пользователя)Ошибка формата потока, Неспецифицированная ошибка при запускебитый кэш в профиле, обрыв сети, сбой при обновлении
Файл базы (файловый вариант)Файл базы данных поврежден, Ошибка при выполнении операции с информационной базойвыключение питания, сеть по Wi-Fi, антивирус, нехватка места на диске
Сервер 1С и СУБДОшибка СУБД, Соединение с сервером 1С:Предприятия разорвано, Ошибка соединения с серверомкэш сервера, переполнение журнала транзакций, порты, нехватка памяти
КонфигурацияКонфигурация базы данных не соответствует сохраненной конфигурации, Нарушение целостности структуры конфигурациипрерванное обновление, необновлённая структура БД
ДанныеОбъект не найден, «битые ссылки» вида <Объект не найден> (123:a1b2...)удаление объектов без контроля ссылок, сбой обмена

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

С чего начать диагностику ошибки

Прежде чем что-то чинить, соберите факты. Пять минут на это часто экономят полдня.

  1. Скопируйте полный текст. В окне ошибки нажмите «Подробно» или «Подробный текст ошибки». Первая строка обычно общая, причина — в нижних строках.
  2. Определите масштаб. Ошибка у одного пользователя или у всех? На одном компьютере или на любом? Если у одного — почти наверняка проблема в кэше или профиле.
  3. Привяжите ко времени. Что было перед сбоем: обновление, отключение света, установка антивируса, перенос базы на другой диск?
  4. Посмотрите журнал регистрации. В интерфейсе «Такси» в БП 3.0 и ЗУП 3.1 он открывается через Администрирование → Обслуживание → Журнал регистрации, в Конфигураторе — Администрирование → Журнал регистрации. Отфильтруйте по уровню «Ошибка» и по времени сбоя.
  5. Проверьте версию платформы. Справка → О программе покажет номер. Если конфигурация требует платформу с номером не ниже определённого, а установлена более ранняя, база может не открыться вовсе.
Диагностика: выберите симптом

Как исправить ошибки в файловой базе 1С

Файловая база — один файл 1Cv8.1CD в каталоге базы. Путь к нему видно в списке баз при выделении строки.

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

Шаг 1. Очистка кэша клиента

Кэш хранится в профиле пользователя Windows, в папках %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Внутри — каталоги с длинными именами-идентификаторами, по одному на базу.

Способы очистки:

  • 🧹 Закройте 1С, удалите каталоги с идентификаторами в обеих папках. Файлы с расширением .pfl и список баз ibases.v8i в %APPDATA%\1C\1CEStart не трогайте.
  • ⚡ Запустите 1С с параметром /ClearCache — платформа сама сбросит кэш при входе в базу.

Пример ярлыка:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /ClearCache

Этот шаг безопасен: кэш создаётся заново при следующем запуске. Первый вход будет медленнее обычного.

Шаг 2. Тестирование и исправление в Конфигураторе

Откройте базу в Конфигураторе и выберите Администрирование → Тестирование и исправление. Для режима нужен монопольный доступ: попросите всех выйти из базы.

Какие флажки ставить:

ПроверкаЧто делаетКогда включать
Реиндексация таблицперестраивает индексыпочти всегда, операция безопасная
Проверка логической целостностиищет нарушения во внутренней структурепри ошибках чтения и записи
Проверка ссылочной целостностиищет ссылки на несуществующие объектыпри «Объект не найден»
Пересчёт итоговпересчитывает итоги регистровпри расхождении остатков в отчётах
Сжатие таблицубирает пустое местопосле массовых удалений
Реструктуризация таблицпересоздаёт таблицыкрайняя мера, долго

Для битых ссылок платформа предлагает варианты: создавать объекты, очищать ссылки или не изменять. Безопаснее выбрать «Создавать объекты». Появятся элементы-заглушки, и вы потом решите, что с ними делать. Очистка ссылок оставит пустые поля в документах.

💡 Сначала запустите режим «Тестирование» без исправления. Он покажет, что сломано, ничего не меняя. Если ошибок нет, проблема не в данных.

Шаг 3. Утилита chdbfl.exe

Когда Конфигуратор не может открыть базу, остаётся утилита проверки физической целостности файла. Она лежит в каталоге платформы, например C:\Program Files\1cv8\8.3.24.1548\bin\chdbfl.exe (номер — ваш).

  1. Закройте все сеансы базы.
  2. Запустите chdbfl.exe, укажите путь к 1Cv8.1CD.
  3. Сначала проверьте без флажка «Исправлять обнаруженные ошибки».
  4. Если ошибки найдены — сделайте копию файла и запустите повторно с исправлением.
  5. После этого откройте базу в Конфигураторе и выполните тестирование и исправление.

chdbfl может удалить повреждённые страницы файла. Данные из них пропадут. Поэтому без копии файла её запускать нельзя.

Ошибки в клиент-серверном варианте

В серверной базе данные лежат в СУБД (MS SQL Server или PostgreSQL), а 1С работает через кластер серверов. Здесь больше мест, где может сломаться.

Связь клиента с сервером

Клиент обращается к агенту сервера (порт 1540), затем к менеджеру кластера (1541) и к рабочим процессам. Диапазон их портов задаётся в свойствах рабочего сервера. По умолчанию это 1560–1591.

Если ошибка соединения у всех — проверьте, запущена ли служба агента сервера и открыты ли эти порты в брандмауэре. Если только у одного клиента — проверьте, что на компьютере установлена та же версия платформы, что и на сервере.

Очистка кэша сервера

Сервер тоже хранит кэш — в каталоге srvinfo (обычно C:\Program Files\1cv8\srvinfo\reg_1541), в папках с именами snccntx и идентификатором.

  1. Предупредите пользователей: при остановке службы оборвутся все сеансы всех баз кластера. Делайте это вечером или в выходной.
  2. Остановите службу «Агент сервера 1С:Предприятия 8.3».
  3. Удалите папки snccntx*. Файл 1CV8Clst.lst не трогайте — в нём список баз кластера.
  4. Запустите службу и проверьте вход.

Ошибки СУБД

При Ошибка СУБД читайте вторую половину сообщения — там текст от самой СУБД. Частые случаи:

  • 💾 закончилось место на диске с базой или журналом транзакций;
  • 🔒 у пользователя СУБД, под которым работает 1С, не хватает прав;
  • 🧱 повреждение страниц данных в самой СУБД.

Для MS SQL Server проверить целостность можно командой:

DBCC CHECKDB ('ИмяБазы') WITH NO_INFOMSGS;

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

Сбои при обновлении конфигурации

Обновление — частая причина ошибок, потому что его прерывают на середине.

Конфигурация базы данных не соответствует сохраненной конфигурации. Основная конфигурация изменена, а структура базы — нет. Откройте Конфигуратор и выполните Конфигурация → Обновить конфигурацию базы данных (F7). Нужен монопольный доступ.

Обновление прервалось на середине. Не запускайте его заново «поверх». Сначала проверьте, открывается ли база в Конфигураторе и совпадают ли основная конфигурация и конфигурация БД. При сомнениях восстановите копию, сделанную перед обновлением, и повторите процедуру.

Ошибки обработчиков после обновления. При первом запуске в режиме предприятия выполняются обработчики обновления. Если один упал, программа покажет сообщение и предложит повторить. Причина часто в данных. Журнал регистрации подскажет, на каком объекте сбой.

Расширения после обновления. Если в базе подключены расширения конфигурации, после обновления типовой части они могут перестать применяться: расширение ссылается на объект или реквизит, который изменился. Платформа сообщит об этом при запуске. Временно отключите проблемное расширение в списке расширений, чтобы пользователи могли работать, а затем поправьте его под новый релиз.

Пропущен промежуточный релиз. Типовые конфигурации обновляются цепочкой: файл .cfu подходит только для определённых предыдущих релизов. Если ваш релиз слишком старый, нужно пройти промежуточные.

💡 Перед обновлением выгрузите базу: Администрирование → Выгрузить информационную базу в Конфигураторе. Файл .dt — самый надёжный путь назад.

Восстановление данных после сбоя

Если штатные инструменты не помогли или исправление удалило нужное, остаётся резервная копия.

Что естьКак восстановитьЧто потеряете
Файл .dtКонфигуратор → Администрирование → Загрузить информационную базувсё, что внесли после выгрузки
Копия каталога файловой базызаменить 1Cv8.1CD копией при закрытой базето же
Резервная копия СУБДвосстановить средствами MS SQL или PostgreSQLпри полной модели восстановления можно вернуться на момент до сбоя
Ничеготолько тестирование и исправление, chdbflнепредсказуемо

Загрузка .dt полностью заменяет базу. Сначала загрузите его в новую пустую базу и проверьте, а уже потом в рабочую.

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

После восстановления сверьте остатки и обороты за последние дни. Документы, внесённые после копии, придётся ввести заново: поднимите их по первичке или выгрузкам из банк-клиента.

Профилактика ошибок в 1С 8.3

Почти каждую аварию из этой статьи можно было предотвратить.

Профилактика сбоев 1С
Выполнено: 0 / 8

Пара пояснений к списку:

  • 🌐 Файловую базу на сетевом диске открывают несколько человек одновременно. Обрыв связи во время записи — частая причина повреждения файла. Для 5 и более активных пользователей стоит думать о серверном варианте.
  • 🛡️ Антивирус, который проверяет 1Cv8.1CD при каждом обращении, тормозит работу и может блокировать запись.
  • 🗄️ Проверяйте не только наличие копий, но и то, что они разворачиваются. Раз в квартал загрузите копию в тестовую базу.

Частые вопросы

Можно ли запускать тестирование и исправление, пока пользователи работают?
Нет. Режим требует монопольного доступа. Попросите всех выйти или заблокируйте начало сеансов.
Сколько длится тестирование и исправление?
Зависит от размера базы и выбранных проверок. База на 2–3 ГБ с реиндексацией и проверкой целостности обычно проверяется за десятки минут, реструктуризация большой базы может идти часами.
Почему ошибка вернулась через день после исправления?
Устранено следствие, а не причина. Ищите источник: сеть, питание, антивирус, нехватку места, разные версии платформы у пользователей.
Что делать с объектами-заглушками после исправления битых ссылок?
Найдите их по пустым или служебным наименованиям, разберитесь, на какие документы они ссылаются, и замените на правильные элементы. Удаляйте заглушки только после замены.
Помогает ли переустановка платформы?
Только если повреждены файлы самой платформы. При повреждении базы или кэша переустановка ничего не даст.