К статье
Практический материал

Администрирование · 10 мин

Как исправить ошибку потока в 1С

Почему в 1С возникает ошибка формата потока и как её исправить: очистка кэша, тестирование базы, проверка диска. Пошаговые инструкции и меры безопасности.

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

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

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

Как понять, где искать проблему

Прежде чем что-либо исправлять, определите масштаб проблемы. Откройте ту же базу на другом компьютере или под другим пользователем. Если там всё работает — повреждён локальный кэш, и база в порядке. Если ошибка повторяется везде — повреждены данные самой базы.

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

Третий признак — внезапность. Если ошибка появилась после сбоя электропитания, аварийного завершения работы, разрыва сети при работе с файловой базой по сети или сбоя жёсткого диска, вероятность физического повреждения файла базы высока.

Ошибка у одного пользователяПовреждён локальный кэш

Очистить кэш на его компьютере

Ошибка у всех пользователейПовреждение базы данных

Резервная копия, затем chdbfl или тестирование и исправление

Ошибка при открытии одного объектаПовреждена конкретная запись

Найти объект, восстановить из копии или пересоздать

Ошибка после сбоя питания или сетиВероятно физическое повреждение файла

Проверить диск, восстановить из бэкапа при необходимости

Очистка кэша — первое и самое безопасное действие

Кэш 1С хранит служебные данные метаданных, чтобы ускорить запуск. При аварийном завершении работы файлы кэша могут повредиться, и платформа начнёт выдавать ошибку формата потока при каждом обращении к ним. Данные самой базы при этом не страдают.

Для очистки кэша полностью закройте 1С, затем удалите содержимое папок кэша. Они находятся в профиле пользователя Windows:

text
%APPDATA%\1C\1cv8\
%LOCALAPPDATA%\1C\1cv8\

Внутри этих каталогов находятся папки с длинными именами из букв и цифр — это идентификаторы баз. Их можно удалить целиком: при следующем запуске платформа создаст кэш заново. Удаление кэша не затрагивает данные базы, настройки пользователя в самой базе и список баз в стартовом окне.

Альтернативный способ — удалить базу из списка в стартовом окне 1С и добавить её заново, указав тот же путь. При этом старый кэш этой базы перестаёт использоваться. После любого из способов запустите базу и проверьте, исчезла ли ошибка.

Порядок действий при очистке кэша
  1. 1
    Полностью закройте все сеансы 1С на проблемном компьютере
  2. 2
    Откройте %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8
  3. 3
    Удалите папки с идентификаторами баз (длинные буквенно-цифровые имена)
  4. 4
    Запустите 1С и откройте базу
  5. 5
    Проверьте, воспроизводится ли ошибка при тех же действиях

Проверка файловой базы утилитой chdbfl.exe

Если база файловая (хранится в файле 1Cv8.1CD) и ошибка возникает у всех пользователей, следующий шаг — проверка физической целостности файла. Для этого в комплект поставки платформы входит утилита chdbfl.exe, расположенная в папке bin установленной версии платформы.

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

Запустите chdbfl.exe, укажите путь к файлу базы, установите флажок «Исправлять обнаруженные ошибки» и нажмите «Выполнить». Проверка большого файла может занять продолжительное время. По завершении откройте базу и проверьте работоспособность, а также целостность данных за последние дни работы.

Тестирование и исправление в конфигураторе

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

Откройте базу в режиме конфигуратора в монопольном режиме (все пользователи должны выйти), предварительно сделав выгрузку базы в файл .dt через меню «Администрирование — Выгрузить информационную базу». Затем выберите «Администрирование — Тестирование и исправление».

Отметьте пункты «Реиндексация таблиц», «Проверка логической целостности» и «Проверка ссылочной целостности». В нижней части окна выберите вариант «Тестирование и исправление». Учтите: при обнаружении битых ссылок объекты с ними могут быть удалены или очищены — именно поэтому выгрузка .dt обязательна.

После завершения проверьте журнал сообщений: там перечислены найденные ошибки и выполненные действия. Затем запустите базу в пользовательском режиме и убедитесь, что ошибка потока исчезла, а данные на месте.

Если повреждён конкретный объект

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

Практический подход такой: найдите этот же объект в свежей резервной копии базы (откройте копию на тестовом компьютере), зафиксируйте его содержимое, затем в рабочей базе удалите повреждённый объект и создайте его заново вручную. Если объектов много, рассмотрите восстановление всей базы из последней работоспособной копии с последующим переносом недостающих данных.

Для клиент-серверных баз (SQL Server, PostgreSQL) дополнительно проверьте журналы СУБД и выполните штатные средства проверки целостности на уровне СУБД — повреждение может быть на стороне сервера баз данных, а не платформы 1С.

Типичные ошибки
01
Запуск исправления без резервной копии — повреждённые данные удаляются безвозвратно
02
Очистка кэша при открытом сеансе 1С — файлы заблокированы, очистка не выполняется
03
Работа с файловой базой по сети через Wi-Fi — частая причина повторных повреждений
04
Игнорирование повторяющихся ошибок — разовое повреждение перерастает в потерю данных
05
Проверка диска после исправления базы, а не до — причина сбоя остаётся и повреждение повторяется

Когда проблема в железе и окружении

Если ошибки потока возникают регулярно и на разных базах, искать причину нужно не в 1С, а в окружении. Проверьте жёсткий диск или SSD на ошибки штатными средствами операционной системы, посмотрите системный журнал Windows на предмет ошибок диска и памяти.

Для файловых баз, размещённых на сетевом ресурсе, типичные причины повреждений — нестабильная сеть, работа через Wi-Fi, отключение компьютера с открытой базой, антивирус, сканирующий файл базы в реальном времени. Добавьте каталог базы в исключения антивируса и по возможности переведите многопользовательскую работу на клиент-серверный вариант.

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

Контрольные точки

Как проверить результат

Запуск базы и открытие проблемных разделов
Норма

Ошибка не воспроизводится, объекты открываются

Тревожный признак

Ошибка возникает снова при тех же действиях

Данные за последние дни работы
Норма

Документы и проводки на месте, отчёты сходятся

Тревожный признак

Пропали документы или расходятся итоги

Поведение через несколько дней
Норма

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

Тревожный признак

Ошибка возвращается — проверяйте диск, сеть, антивирус

Профилактика повторных повреждений

Главная защита от ошибок потока — регулярные резервные копии. Для файловых баз настройте ежедневное копирование файла 1Cv8.1CD или выгрузку .dt по расписанию, для клиент-серверных — штатные бэкапы на уровне СУБД. Периодически проверяйте, что копии реально восстанавливаются.

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

Итог

Что важно запомнить

Начинайте с диагностики масштаба: один пользователь — чистите кэш, все пользователи — копия базы и проверка chdbfl или тестированием и исправлением. Любые исправляющие инструменты запускайте только после резервного копирования. Повторяющиеся ошибки — сигнал проверить диск, сеть и антивирус.

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

Опасна ли ошибка формата потока для данных базы?

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

Поможет ли переустановка платформы 1С?

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

Удаление кэша сотрёт настройки и данные пользователей?

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

Чем отличаются chdbfl и тестирование в конфигураторе?

Утилита chdbfl проверяет физическую структуру файла 1Cv8.1CD и работает только с файловыми базами. Тестирование и исправление в конфигураторе проверяет логическую и ссылочную целостность данных и работает с любыми базами. При серьёзных повреждениях их часто применяют последовательно: сначала chdbfl, затем тестирование.

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

Очистите кэш именно в профиле этого пользователя на терминальном сервере — папки %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 в его каталоге. Кэш каждого пользователя терминального сервера хранится отдельно, поэтому действия других пользователей не помогут.

Можно ли восстановить удалённые тестированием объекты?

Только из резервной копии, сделанной до исправления. Откройте копию базы, найдите нужные объекты и перенесите их в рабочую базу вручную или обработкой выгрузки-загрузки данных. Без копии восстановление невозможно — поэтому выгрузка .dt перед исправлением обязательна.