← На главную
Проанализируем распространенную техническую проблему, когда при нажатии кнопки «Выполнить» в окне сравнения и объединения конфигураций в Конфигураторе 1С возникают сбой и сообщение «Ошибка формата потока». Данная ситуация может возникать как в серверных, так и в файловых базах данных, причем штатные средства тестирования и исправления (ТиИ) и утилита chdbfl.exe зачастую не выявляют нарушений.
Выясним причины возникновения ошибки
Механизм сравнения и объединения последовательно запрашивает и считывает сжатые бинарные XML-потоки объектов метаданных из системных таблиц Config и ConfigSave. Если структура отдельного потока повреждена, платформа не может его распарсить и прерывает процесс сбоем.
Рассмотрим основные причины повреждения данных:
- Повреждение бинарных данных отдельных объектов: Сбой в структуре формы документа, макета отчета, обработки или модуля.
- Коррупция локального кэша Конфигуратора: Некорректные временные файлы платформы, образовавшиеся при аварийном завершении работы сеанса.
- Повреждение системных таблиц поддержки: Нарушение целостности в таблицах
ConfigCAS или ConfigSave, где хранятся данные поставщика.
- Сбои при предыдущих сохранениях: Некорректное сохранение файла
.cf из-за сбоев оперативной памяти, сетевых помех или проблем с диском.
Способ 1. Поэтапное объединение через пустую конфигурацию
Разберем практический алгоритм обхода ошибки с помощью переноса объектов в пустую конфигурацию. Этот метод позволяет исключить поврежденный поток и восстановить рабочую конфигурацию с сохранением всех доработок.
Выполним процедуру по шагам:
- Создадим новую пустую информационную базу и откроем ее в режиме Конфигуратора.
- Перейдем в меню Конфигурация — Сравнить, объединить с конфигурацией из файла... и укажем файл проблемной конфигурации (файл
.cf).
- На предложение системы полностью загрузить конфигурацию из файла ответим «Нет», так как требуется именно процедура объединения.
- В окне сравнения и объединения снимем выделение со всех объектов, после чего отберем и отметим галочками только измененные пользовательские объекты (например, основные документы, справочники и общие модули).
- Нажмем кнопку «Выполнить» и сохраним полученную конфигурацию (нажатием
F7).
- Повторно откроем окно сравнения и объединения и догрузим остальные недостающие типовые объекты из чистого типового файла дистрибутива.
- После сборки исправленной конфигурации сохраним ее в файл
.cf.
- Откроем рабочую базу данных и выполним команду Конфигурация — Загрузить конфигурацию из файла..., указав созданный файл. Это полностью перезапишет таблицы конфигурации без вызова механизма сравнения битых потоков.
- Обновим конфигурацию базы данных стандартным способом (
F7).
Способ 2. Очистка локального кэша Конфигуратора
Посмотрим на ситуацию, когда ошибка вызвана повреждением временных файлов платформы на клиентском компьютере. Очистим кэш 1С:
- Завершим работы всех сеансов 1С и закроем Конфигуратор.
- Удалим содержимое каталогов пользовательского кэша в папках
AppData\Local\1C\1cv8 и AppData\Roaming\1C\1cv8.
- Или запустим платформу с дополнительным параметром командной строки
/ClearCache.
Способ 3. Поиск сбойного объекта через выгрузку в файлы XML
Если необходимо точно определить, какой именно объект метаданных вызывает ошибку формата потока, выполним диагностическую выгрузку:
- В Конфигураторе воспользуемся командой Конфигурация — Выгрузить файлы конфигурации... или выполним выгрузку через командную строку с помощью параметра
/DumpConfigToFiles.
- Платформа начнет последовательно конвертировать объекты в XML-файлы. На поврежденном объекте процесс прервется ошибкой, и в логе отобразится имя сбойного элемента (например, конкретная форма или макет).
- Удалим сбойный объект из конфигурации и повторно загрузим его исправную версию из типового файла поставщика.
Способ 4. Сброс и повторная привязка к конфигурации поставщика
Если проблема заключается в нарушении связей с конфигурацией поставщика, проанализируем порядок сброса поддержки:
- Откроем окно настройки поддержки через меню Конфигурация — Поддержка — Настройка поддержки....
- Снимем конфигурацию с поддержки и сохраним конфигурацию базы данных (
F7).
- Выполним сравнение и объединение с типовым файлом поставщика
.cf и включим поддержку заново с правильной настройкой правил (без редактирования или с сохранением изменений).