Загрузка .dt или запуск базы обрывается на «Ошибка формата потока»: разбор по шагам
Содержание
Ошибка формата потока в 1С 8.3 при загрузке базы данных почти всегда значит одно: платформа прочитала файл, но его содержимое не совпало с ожидаемой структурой. Как исправить: сначала проверьте, что файл .dt целый (размер и контрольная сумма совпадают с исходником), затем загрузите его на платформе с номером версии не ниже той, на которой делали выгрузку. Если ошибка появляется не при загрузке, а при открытии базы, — очистите кэш и прогоните Тестирование и исправление.
Сообщение выглядит как Ошибка формата потока или длиннее, например Ошибка при выполнении операции с информационной базой: Ошибка формата потока. Сам текст не говорит, какой файл повреждён. Поэтому ниже порядок такой: от самой частой и безопасной проверки к более тяжёлым мерам.
Откуда берётся ошибка формата потока в 1С
«Поток» — это любой двоичный набор данных, который платформа читает последовательно: файл выгрузки, кэш конфигурации, сохранённые настройки, содержимое реквизита типа ХранилищеЗначения. Когда в середине такого набора оказываются «не те» байты, чтение останавливается с этой ошибкой.
Типичные источники повреждения:
- 📦 Недокачанный или обрезанный файл
.dt. Передача через почту, мессенджер, облако или обрыв сети при копировании. - 🔢 Разные версии платформы. Выгрузка сделана на более новой платформе, а загружают на более старой.
- 🗂️ Испорченный кэш на компьютере пользователя. Остаётся после аварийного закрытия 1С, отключения питания или смены версии платформы.
- 💾 Повреждён сам файл базы
1Cv8.1CD. Ошибки диска, сбой сетевой папки, одновременная работа с базой через нестабильный общий ресурс. - ⚙️ Битые служебные данные внутри базы: настройки пользователей, сохранённые варианты отчётов, данные хранилища значений.
- 🧩 Повреждённый файл обновления
.cfили.cfu, внешняя обработка или файл хранилища конфигурации.
Где именно появилась ошибка, подсказывает, куда смотреть:
| Когда возникает | Наиболее вероятный источник | С чего начать |
|---|---|---|
При Загрузить информационную базу из .dt | Файл выгрузки или версия платформы | Сверка файла, версия платформы |
| Сразу при запуске базы | Кэш пользователя или файл 1Cv8.1CD | Очистка кэша, затем проверка базы |
| При открытии конкретного отчёта или формы | Сохранённые настройки этого объекта | Сброс настроек пользователя |
| При обновлении конфигурации | Файл .cf/.cfu | Повторное скачивание файла |
| При работе с хранилищем | Локальный кэш хранилища или файл хранилища | Переподключение к хранилищу |
Первая диагностика: проверяем файл выгрузки и платформу
Начинайте с файла, а не с базы. Это занимает пять минут и ничего не ломает.
Сравните размер и контрольную сумму
- На компьютере, где делали выгрузку, откройте свойства файла
.dtи запишите размер в байтах, а не в мегабайтах. - Посчитайте хеш файла. В командной строке Windows:
certutil -hashfile D:\Backup\buh.dt SHA256
То же в PowerShell:
Get-FileHash D:\Backup\buh.dt -Algorithm SHA256
- Сделайте то же на компьютере, куда файл попал.
- Если размер или хеш различаются — файл повреждён при передаче. Никакие настройки 1С тут не помогут, нужна новая копия.
Большие выгрузки надёжнее передавать архивом с контролем целостности (7-Zip, RAR). Архиватор сам сообщит об ошибке CRC при распаковке, и вы не потратите час на загрузку битого файла.
Сверьте версии платформы
Номер версии виден в Конфигураторе: Справка → О программе. Сравните его на исходном и целевом компьютере.
Правило простое: загружайте .dt на платформе с номером не ниже той, на которой делали выгрузку. Если выгрузку сделали на 8.3.24, а у вас стоит 8.3.18, установите новую версию платформы и запускайте Конфигуратор именно ею. В окне запуска в свойствах базы, на последнем шаге, можно указать конкретную версию для этой базы.
Проверьте место на диске и временную папку
При загрузке платформа создаёт временные файлы. Если на системном диске или в каталоге %TEMP% мало места, загрузка может оборваться с ошибкой чтения. Освободите на диске объём не меньше двойного размера .dt и повторите.
Как исправить ошибку при загрузке базы из файла выгрузки
Если файл целый и версия подходит, а ошибка остаётся, переходите к способам ниже по порядку.
Способ 1. Загрузка в новую пустую базу
Не загружайте выгрузку поверх рабочей базы, пока не убедились, что файл читается.
- В окне запуска нажмите
Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации. - Укажите новый пустой каталог на локальном диске, не в сетевой папке.
- Откройте новую базу в Конфигураторе.
- Выполните
Администрирование → Загрузить информационную базуи выберите файл.
Если загрузка в пустую локальную базу прошла, а в старую нет — дело было в старом каталоге, сетевом ресурсе или правах, а не в файле.
Способ 2. Загрузка из командной строки
Пакетный режим исключает влияние интерфейса и кэша пользователя. Подставьте свою версию платформы и пути:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\NewBuh" /RestoreIB "D:\Backup\buh.dt" /Out "D:\Backup\restore.log"
После завершения откройте restore.log. В нём бывает больше подробностей, чем в окне с ошибкой.
Для клиент-серверной базы вместо /F используется /S "сервер\имябазы", плюс /N и /P для пользователя и пароля.
Способ 3. Новая выгрузка с исходной базы
Если исходная база ещё доступна, сделайте выгрузку заново: Администрирование → Выгрузить информационную базу. Перед этим попросите всех выйти из программы. Сразу посчитайте хеш нового файла и отправьте его вместе с файлом.
Если исходная база сама открывается с ошибкой, выгрузка из неё будет битой. Тогда сначала лечите её (раздел про профилактику и проверку ниже), потом выгружайте.
Способ 4. Резервная копия файла базы
Для файловой базы восстановление можно сделать без .dt: возьмите из резервной копии каталог базы с файлом 1Cv8.1CD. Положите его в новую папку и добавьте в список баз как существующую. Потеряются данные, внесённые после даты копии, поэтому этот способ последний.
| Способ | Когда подходит | Риски |
|---|---|---|
| Новая пустая база | Файл целый, старая база под подозрением | Нет |
| Командная строка | Нужно исключить интерфейс и кэш, получить лог | Нет |
| Новая выгрузка | Исходная база жива | Нужен монопольный доступ к исходной базе |
| Каталог из резервной копии | Выгрузку получить нельзя | Потеря данных после даты копии |
Ошибка формата потока после обновления платформы или конфигурации
После установки новой версии платформы
Самый частый сценарий: обновили платформу, и при входе в базу появилась ошибка. Причина — кэш, созданный старой версией. Решение — очистить его.
- Закройте все окна 1С на компьютере.
- Откройте папки
%APPDATA%\1C\1cv8и%LOCALAPPDATA%\1C\1cv8(адрес можно вставить в строку проводника). - Внутри — папки с именами вида
8f2a91c4-...(GUID). Каждая относится к одной базе. Если не знаете, какая нужна, удалите все папки с такими именами. - Запустите базу снова. Первый запуск будет дольше обычного: кэш строится заново.
Файлы ibases.v8i и папки без GUID в имени не трогайте: там список баз и общие настройки.
Альтернатива без ручного удаления — запуск с параметром /ClearCache. Его можно дописать в свойствах базы в окне запуска, в поле дополнительных параметров запуска, выполнить один вход и убрать.
При обновлении конфигурации
Если ошибка появляется на Конфигурация → Обновление конфигурации или при загрузке файла .cf, повреждён файл обновления. Скачайте его заново, сверьте размер с указанным на странице загрузки и повторите обновление. Перед этим сделайте выгрузку базы: обновление поверх базы без резервной копии — единственное место в этой процедуре, где можно потерять данные.
Когда ошибка у всех пользователей клиент-серверной базы
Если кэш на компьютерах уже чистили, а ошибка у всех, возможен испорченный кэш сервера 1С. Его очищают удалением папок snccntx* в каталоге кластера (обычно srvinfo\reg_1541\<GUID базы>) при остановленной службе агента сервера.
Остановка службы сервера 1С обрывает сеансы всех пользователей всех баз этого сервера. Делайте это вне рабочего времени и предупредите людей заранее. Остальные файлы в каталоге srvinfo не удаляйте.
Хранилище конфигурации, обмены и сохранённые данные
Хранилище конфигурации
При групповой разработке ошибка может появляться на операциях с хранилищем: захвате объектов, получении версии, сравнении.
- 🔌 Переподключитесь.
Конфигурация → Хранилище конфигурации → Отключиться от хранилища, затем подключитесь снова. Локальная копия перечитается. - 🧹 Очистите кэш пользователя так же, как после обновления платформы: локальная информация о хранилище тоже лежит в профиле.
- 🗄️ Проверьте сам файл хранилища. Хранилище тоже хранится в файле
.1CD. Скопируйте его и проверьте копию утилитойchdbfl.exe(о ней ниже). Если файл повреждён, восстановите его из резервной копии каталога хранилища.
Отключение от хранилища сбрасывает связь с захваченными объектами. Незафиксированные изменения сохраните заранее: выгрузите конфигурацию в файл .cf.
Обмены и внешние файлы
В обменах данными ошибка формата потока обычно связана не с XML-сообщением, а с двоичными данными внутри него — значениями типа ХранилищеЗначения, картинками, присоединёнными файлами. Если ошибка возникает на конкретном сообщении, найдите по протоколу обмена объект, на котором загрузка остановилась, и проверьте его в базе-источнике.
Внешнюю обработку или отчёт, которые не открываются с этой ошибкой, сохраните заново в Конфигураторе на той же платформе, где ими будут пользоваться.
Сохранённые настройки пользователя
Если ошибка возникает только при открытии одного отчёта или формы, повреждены сохранённые для них настройки. Проверьте: откройте тот же отчёт под другим пользователем. Если у другого всё работает — очистите настройки проблемного.
В конфигурациях на базе БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) это делается в разделе Администрирование → Настройки пользователей и прав → Настройки пользователей: выберите пользователя и очистите настройки отчётов или внешнего вида.
Тестирование и исправление базы
Когда кэш очищен, файл выгрузки ни при чём, а база всё равно падает при открытии, проверяют сам файл базы.
Сначала сделайте копию каталога базы целиком. Исправление меняет данные, и вернуть исходное состояние можно только из копии.
Через Конфигуратор
- Убедитесь, что в базе никто не работает : для этой операции нужен монопольный доступ.
- Откройте
Администрирование → Тестирование и исправление. - Отметьте
Проверка логической целостности информационной базыиПроверка ссылочной целостности информационной базы. - Выберите режим
Тестирование и исправление. - Для битых ссылок безопаснее выбрать
Создавать объекты, а неУдалять ссылки: так вы потом увидите, что было повреждено. - Нажмите
Выполнитьи дождитесь окончания. Для базы в несколько гигабайт это может занять час и больше.
Утилитой chdbfl.exe
Если база не открывается даже в Конфигураторе, используйте утилиту chdbfl.exe из папки bin установленной платформы, например C:\Program Files\1cv8\8.3.24.1548\bin\chdbfl.exe.
- Закройте все сеансы базы.
- Запустите
chdbfl.exe, укажите путь к файлу1Cv8.1CDкопии базы. - Сначала запустите проверку без галки исправления. Посмотрите, сколько ошибок нашлось.
- Если ошибки есть — отметьте исправление обнаруженных ошибок и запустите ещё раз.
- Откройте базу в Конфигураторе и выполните тестирование из предыдущего блока.
Утилита работает только с файловыми базами. Для клиент-серверной базы проверку структуры выполняют средствами СУБД, а логику 1С — тем же тестированием в Конфигураторе.
Как не допустить повреждения базы
Ошибка формата потока — следствие. Причины повреждения в большинстве своём организационные, и закрываются они настройкой, а не ремонтом.
- 🔋 Источник бесперебойного питания на компьютере или сервере, где лежит файловая база. Отключение питания во время записи — классический путь к битому
1Cv8.1CD. - 🌐 Файловая база в сети — только на стабильном ресурсе. Wi-Fi и VPN с обрывами для работы нескольких пользователей с файловой базой не подходят. При 5 и более одновременных пользователях стоит подумать о клиент-серверном варианте.
- 🛡️ Исключения в антивирусе для каталога баз и папок кэша. Сканирование файла базы в момент записи может привести к повреждению.
- 🗓️ Регулярные выгрузки
.dtпо расписанию, через пакетный режим с параметром/DumpIB, с хранением нескольких последних копий. Одна копия, перезаписываемая каждую ночь, не спасёт, если база испортилась два дня назад. - 🔁 Проверка копий. Раз в месяц загружайте свежую выгрузку в тестовую базу. Копия, которую ни разу не открывали, — это надежда, а не копия.
- 🔢 Одинаковая версия платформы у всех пользователей одной базы и на сервере.
- 🧮 Хеш рядом с файлом. При каждой передаче
.dtмежду людьми или компьютерами передавайте и контрольную сумму.
Пример команды для ночной выгрузки (файловая база, пользователь с правами администратора):
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /DumpIB "E:\Backup\buh_%date:~-4%%date:~3,2%%date:~0,2%.dt" /Out "E:\Backup\dump.log"
Пароль в bat-файле храните на компьютере с ограниченным доступом. Перед выгрузкой по расписанию все пользователи должны выйти из базы.
Частые вопросы
Можно ли открыть .dt архиватором и вытащить данные?
Ошибка появилась после копирования базы на флешку. Что не так?
Поможет ли переустановка платформы?
Тестирование и исправление удалит мои документы?
Создавать объекты программа не удаляет данные, а создаёт заглушки для битых ссылок. Документы с неустранимыми повреждениями могут потеряться, поэтому копия каталога перед запуском обязательна.