Ошибки платформы 1С

Ошибка формата потока 1С 8.3: причины и порядок восстановления

Коротко

«Ошибка формата потока» означает, что платформа не смогла прочитать двоичные данные: повреждён кэш метаданных, файл базы 1Cv8.1CD или файл выгрузки dt/cf. Что делать: идти от простого к сложному — очистить кэш сеансов (%LOCALAPPDATA%\1C\1cv8), для файловой базы прогнать chdbfl.exe, затем «Тестирование и исправление» в конфигураторе (/IBCheckAndRepair), в тяжёлых случаях — выгрузка/загрузка dt.

Перед chdbfl.exe и «Тестированием и исправлением» — обязательно полная копия базы: оба инструмента исправляют ошибки удалением повреждённых данных и отката не предусматривают.

Что означает ошибка формата потока 1С 8.3

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

  • Кэш метаданных на клиенте — самый частый и самый безобидный случай. Проявляется при запуске сеанса или после обновления конфигурации.
  • Файловая база 1Cv8.1CD — повреждение внутренних страниц файла: сбой диска, обрыв сети до файлового ресурса, копирование «на горячую».
  • Файл выгрузки dt или конфигурации cf — ошибка формата потока в 1С при загрузке файла означает, что битый сам файл, а не база-приёмник.
  • Данные в коде — чтение файла не того формата или повреждённое ХранилищеЗначения (см. раздел про код).

Диагностика начинается с вопроса «где именно падает»: при запуске сеанса, при открытии конфигуратора, при загрузке файла или в конкретной строке кода. От ответа зависит, какой шаг из порядка ниже вообще нужен.

Ошибка формата потока 1С 8.3: как исправить — порядок действий

Если не знаете, что делать при ошибке формата потока в 1С, идите строго по шагам — от дешёвых и безопасных действий к тяжёлым:

  1. Очистка кэша — безопасно, лечит большинство случаев «падает при запуске».
  2. Для файловой базы — проверка запуском с /Debug и chdbfl.exe (сначала копия!).
  3. Тестирование и исправление в конфигураторе / /IBCheckAndRepair (сначала копия!).
  4. Выгрузка/загрузка dt — пересборка базы, если конфигуратор ещё открывается.
  5. Если всё мимо — восстановление из резервной копии.

Отдельная ветка — ошибка при загрузке dt/cf: там лечить нужно не базу, а файл выгрузки.

Шаг 1. Очистка кэша сеансов: каталоги %LOCALAPPDATA%\1C\1cv8

Клиент 1С кэширует метаданные конфигурации на диске. Если кэш побился (внезапное завершение процесса, обновление конфигурации, антивирус), сеанс падает с ошибкой формата потока ещё до открытия базы. Кэш можно удалять целиком — платформа пересоздаст его при следующем запуске:

:: закрыть все сеансы 1С, затем удалить кэш текущего пользователя
rd /s /q "%LOCALAPPDATA%\1C\1cv8"
rd /s /q "%APPDATA%\1C\1cv8"

Если чистить всё не хочется — внутри 1cv8 кэш каждой базы лежит в каталоге с именем-GUID: сопоставить GUID с базой можно по файлу списка баз %APPDATA%\1C\1CEStart\ibases.v8i и удалить только нужный каталог. На сервере 1С аналогичный кэш живёт в srvinfo\reg_1541\SNCCNTX... — его трогают только при остановленном агенте сервера.

Помогло — значит, база цела и дальше идти не нужно. Не помогло — переходим к проверке самой базы.

Шаг 2. Файловая база: запуск с /Debug и chdbfl.exe

Быстрый диагностический трюк с форумов: запустить клиент с ключом /Debug. Если с ним база открывается, а без него падает — проблема в кэше или сеансовых данных, а не в файле базы, и лечится шагом 1.

"C:\Program Files\1cv8\8.3.25.1394\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Trade" /Debug

Если и конфигуратор не открывается, для файловой базы остаётся низкоуровневая утилита chdbfl.exe из каталога bin платформы. Она проверяет и чинит физическую структуру файла 1Cv8.1CD, не требуя запуска самой 1С:

:: 1. СНАЧАЛА копия базы (chdbfl исправляет удалением данных!)
copy "D:\Bases\Trade\1Cv8.1CD" "D:\Backup\1Cv8_before_chdbfl.1CD"

:: 2. Запуск утилиты (все сеансы базы закрыты)
"C:\Program Files\1cv8\8.3.25.1394\bin\chdbfl.exe"

:: 3. В окне: указать путь к 1Cv8.1CD,
::    первый прогон — БЕЗ галки «Исправлять обнаруженные ошибки»,
::    второй прогон — с галкой, если ошибки подтвердились
chdbfl.exe
Имя файла БДполный путь к 1Cv8.1CD; база должна быть закрыта
Исправлять обнаруженные ошибкибез галки — только отчёт; с галкой — исправление удалением битых записей
→ протокол проверки в окне утилиты

Важно понимать механику: chdbfl.exe «исправляет» повреждённые страницы, вырезая нечитаемые данные. После исправления база откроется, но часть записей может пропасть — поэтому копия перед запуском не рекомендация, а обязательное условие. Для клиент-серверной базы утилита неприменима — там целостность проверяется средствами СУБД.

Шаг 3. Тестирование и исправление (/IBCheckAndRepair)

Если база открывается хотя бы в конфигураторе, следующий уровень — штатное «Администрирование → Тестирование и исправление». Оно проверяет уже логическую целостность: ссылки, индексы, итоги регистров. То же самое запускается из командной строки пакетным режимом конфигуратора:

:: сначала копия, затем проверка БЕЗ исправления
"C:\Program Files\1cv8\8.3.25.1394\bin\1cv8.exe" DESIGNER
    /F"D:\Bases\Trade" /N"Admin" /P"pwd"
    /IBCheckAndRepair -ReIndex -LogIntegrity -LogAndRefsIntegrity
    -RecalcTotals -TestOnly
    /Out"D:\Backup\check.log" /DisableStartupDialogs
/IBCheckAndRepair
-ReIndexреиндексация таблиц
-LogIntegrityпроверка логической целостности
-LogAndRefsIntegrityплюс проверка ссылочной целостности
-RecalcTotalsпересчёт итогов регистров
-TestOnlyтолько тестирование, без исправления
→ протокол в файле из /Out

Порядок тот же, что и с chdbfl.exe: первый прогон — -TestOnly, смотрим протокол; исправление включаем вторым прогоном и только при живой резервной копии. Режимы обработки битых ссылок («создавать объекты», «очищать ссылки», «удалять объекты») выбирайте осознанно: «удалять» каскадно выносит документы, ссылающиеся на битые объекты.

После исправления полезно проверить, что пострадало: агент Консоли кода может выполнить запросы по проблемным таблицам — пересчитать документы по месяцам, сверить итоги регистров с движениями — и показать, где после «лечения» появились дыры в данных.

Шаг 4. Выгрузка и загрузка dt

Выгрузка в dt и загрузка в новую пустую базу полностью пересобирает физическую структуру: платформа читает данные логически и пишет их заново. Это добивает проблемы, которые пережили шаги 2–3:

:: выгрузка
1cv8.exe DESIGNER /F"D:\Bases\Trade" /N"Admin" /P"pwd" /DumpIB"D:\Backup\trade.dt"

:: загрузка в новую (пустую) базу
1cv8.exe DESIGNER /F"D:\Bases\TradeNew" /RestoreIB"D:\Backup\trade.dt"

Нюансы: выгрузка возможна, только если конфигуратор открывает базу; на повреждённой базе выгрузка может сама упасть с ошибкой формата потока — тогда возвращайтесь к шагам 2–3. И не используйте dt как единственный формат бэкапа: если выгрузка прошла, это ещё не гарантирует, что загрузка пройдёт.

1С при загрузке выдаёт ошибку формата потока: битый dt или cf

Отдельный сценарий: сама база в порядке, но 1С при загрузке dt или cf падает с ошибкой формата потока. В этом случае повреждён файл выгрузки, и «лечить» базу-приёмник бессмысленно. Типичные причины:

  • файл обрезан при передаче: обрыв скачивания, почтовый фильтр, FTP в текстовом режиме;
  • выгрузка снята с уже повреждённой базы — битые потоки честно переехали в dt;
  • файл побился на носителе или при распаковке архива;
  • версионный конфликт: dt выгружен существенно более новой платформой, чем та, что загружает.

Проверка простая: сравните размер и контрольную сумму файла с оригиналом на стороне отправителя. Не совпало — файл перевыгрузить и передать заново (лучше в архиве: zip сам обнаружит повреждение при распаковке). Совпало — проверяйте базу-источник шагами 2–3 и разницу версий платформы.

Ошибка формата потока данных в коде: чтение файлов и ХранилищеЗначения

Ошибка формата потока данных возникает и в прикладном коде — при чтении файла методами вроде ЗначениеИзФайла() или табличного документа через ПрочитатьИзФайла(), когда содержимое файла не соответствует ожидаемому формату: файл другого типа, обрезан или записан другой версией платформы. Здесь база ни при чём — проверяйте сам файл и то, чем он был записан.

Второй частый случай — повреждённое ХранилищеЗначения в реквизите справочника или регистра: запись когда-то побилась, и теперь Получить() падает на десериализации. Такие записи находят перебором с перехватом исключения:

Выборка = Справочники.Договоры.Выбрать();
Пока Выборка.Следующий() Цикл
    Попытка
        Данные = Выборка.ФайлСкана.Получить();
    Исключение
        // Ошибка формата потока → битое хранилище
        Сообщить("Повреждено: " + Выборка.Ссылка);
    КонецПопытки;
КонецЦикла;
ХранилищеЗначения.Получить
без параметровдесериализует сохранённое в хранилище значение; на битых данных бросает исключение
Произвольный

Найденные битые записи восстанавливают из резервной копии или перезаписывают заново (Новый ХранилищеЗначения(Значение, АлгоритмСжатияДанных)), если исходные данные ещё доступны.

Такой обход удобно поручить агенту Консоли кода: попросите «найди все реквизиты типа ХранилищеЗначения в конфигурации и проверь читаемость по всем объектам» — агент сам соберёт список реквизитов, напишет обход с Попытка/Исключение и отдаст перечень битых ссылок одним отчётом.

Профилактика: чтобы ошибка формата потока не вернулась

  • Регулярные бэкапы: для файловой базы — копия закрытого 1Cv8.1CD по расписанию, для клиент-серверной — средствами СУБД. dt — только как дополнительный формат.
  • Никогда не копировать открытую базу. Копия 1Cv8.1CD при активных сеансах — почти гарантированный битый файл: страницы копируются в несогласованном состоянии.
  • Следить за диском и сетью: SMART, chkdsk; файловая база на сетевом ресурсе с нестабильным SMB — классический источник повреждений. Большая нагрузка — повод перейти на клиент-серверный вариант.
  • ИБП на сервере с файловой базой — обесточивание в момент записи бьёт файл базы чаще всего.
  • Исключить каталоги баз и кэша 1С из «агрессивных» антивирусных проверок на лету.

Частые ошибки при восстановлении базы после ошибки формата потока

  • Запуск chdbfl.exe с галкой «Исправлять» без резервной копии. Утилита чинит базу удалением нечитаемых данных — молча и без отката. Сначала копия, потом прогон без исправления, и только затем — с исправлением.
  • «Тестирование и исправление» сразу в режиме удаления битых объектов. Режим «удалять» каскадно выносит и ссылающиеся документы. Первый прогон — только тестирование, протокол читаем глазами.
  • Лечение базы, когда битый только файл выгрузки. Если ошибка формата потока появляется при загрузке dt/cf — проверяйте файл (размер, хэш, версии платформы), а не базу-приёмник.
  • Копирование «на горячую» как бэкап. Снятая с работающей базы копия сама открывается с ошибкой формата потока — в архиве оказывается несогласованный файл.
  • Очистка кэша при запущенных сеансах. Клиент держит файлы кэша открытыми: часть каталогов не удалится, и симптом останется. Сначала закрыть все сеансы, потом чистить.

Частые вопросы об ошибке формата потока в 1С

Можно ли запускать chdbfl.exe без резервной копии базы?

Нет. В режиме исправления chdbfl.exe удаляет повреждённые записи без возможности отката — база откроется, но часть данных может пропасть. Сначала копия файла 1Cv8.1CD, затем прогон без исправления, и только потом — с исправлением.

Ошибка формата потока при загрузке dt — значит, база повреждена?

Нет, при загрузке dt или cf ошибка почти всегда означает битый файл выгрузки: он обрезан при передаче, повреждён на носителе или снят с уже повреждённой базы. Сверьте размер и контрольную сумму с оригиналом и перевыгрузите файл.

Поможет ли очистка кэша, если повреждён сам файл 1Cv8.1CD?

Не поможет: очистка каталогов %LOCALAPPDATA%\1C\1cv8 лечит только повреждённый клиентский кэш метаданных. Повреждение файла базы устраняют chdbfl.exe, «Тестирование и исправление» или выгрузка/загрузка dt — с копией перед каждым шагом.

Тарифы

ИИ Консоль кода 1С

Лайт

Бесплатно
≈ 1,5 млн токенов

Для ознакомления с возможностями

  • Все функции бесплатно на 2 дня +2 дня за подписку на Telegram или Max
  • Полный набор инструментов без урезаний
  • Без ввода карты
Начать бесплатно

Старт

1990 руб. в месяц
≈ 10 млн токенов

Для индивидуального использования

Выбрать тариф

Продвинутый

Популярный выбор
3990 руб. в месяц
≈ 25 млн токенов

Для интенсивного использования или команд

  • До 15 конфигураций
  • Встроенный агент запросов 1С
  • Свои подписки Codex, Claude и любые OpenAI-совместимые
  • Внешние обработки без Конфигуратора
  • Приоритетная техническая поддержка
Выбрать тариф