Ошибка формата потока данных, частный случай

11.07.20

Задачи пользователя - Корректировка данных

Вариант решения ошибки формата потока данных при попытке открытия конфигурации в конфигураторе.

Иногда после удачно/не совсем удачного обновления базы данных, при следующем входе, мы получаем эту ошибку. Кому-то помогает чистка кеша, кто-то подменяет целиком таблицу config на корректную из копии и ряд других таблиц. Получив такую ошибку я решил найти причину из-за которой система не смогла открыть конфигурацию.

Действия по шагам:

  1. Очищаем кеш конфигурации на клиенте. Это заставит конфигуратор получить данные из базы;
  2. Запускаем SQL Server Profiler в котором настраиваем сбор всех запросов отправляемых базе, соответственно с фильтром по нужной базе;
  3. Запускаем сбор данных профайлером и открываем конфигурацию;
  4. Как только получаем ошибку профайлер останавливаем;
  5. Самый последний запрос будет к битым данным. Выглядеть он должен примерно так:
    exec sp_executesql N'SELECT Creation,Modified,Attributes,DataSize,BinaryData FROM Config WHERE FileName = @P1 ORDER BY PartNo',N'@P1 nvarchar(128)',N'9ca28693-c6ea-42fd-8902-84d9b5abd962'

     

  6. Дальше все просто, переносим корректные данные из нормальной базы в битую:
    delete from [Битая].dbo.Config where PartNo = 0 and FileName = N'9ca28693-c6ea-42fd-8902-84d9b5abd962';
    insert into [Битая].dbo.Config 
    SELECT * FROM [Нормальная].dbo.Config WHERE PartNo = 0 and FileName = N'9ca28693-c6ea-42fd-8902-84d9b5abd962'

     

  7. ВАЖНО! Подобного рода манипуляции могут привести к потере некоторых изменений, например можно потерять строки кода, элементы на форме и т.п. в зависимости от того какой объект восстанавливаем;
  8. На этом можно остановиться, но если вы хотите узнать кто этот проблемный объект то нужно получить его данные;
  9. Для получения данных можно воспользоваться запросом: 
    select  *,cast(DECOMPRESS(0x1F8B0800000000000400 + BinaryData)as varchar(max)) as TextD
    from dbo.[Config] where filename like '9ca28693-c6ea-42fd-8902-84d9b5abd962' +'%'

     

  10. То, что нас интересует, находится в поле TextD:
     
     Результат распаковки

     п»ї{1,  {0,  {13,  {2,  {1,0,9ca28693-c6ea-42fd-8902-84d9b5abd962},"ФормаДокумента",  {1,"ru","Форма документа"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3,00000000-0000-0000-0000-000000000000},0,0,  {2,  {"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1},  {"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2}  }  }  },0}

     

  11. Теперь нам надо привести это в читабельный вид, это можно сделать любым онлайн декодером кодировок, например Декодер. В итоге получим:
     
     Читабельный текст

     A533; {1, A533;{0, A533;{13, A533;{2, A533;{1,0,9ca28693-c6ea-42fd-8902-84d9b5abd962},"ФормаДокумента", A533;{1,"ru","Форма документа"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3,00000000-0000-0000-0000-000000000000},0,0, A533;{2, A533;{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1}, A533;{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2} A533;} A533;} A533;},0}

     

  12. Становится понятно, что это форма какого-то документа.
  13. Запрос из пункта 9ть вернул нам две строки: 9ca28693-c6ea-42fd-8902-84d9b5abd962 и 9ca28693-c6ea-42fd-8902-84d9b5abd962.0. 
  14. 9ca28693-c6ea-42fd-8902-84d9b5abd962.0 - это сама форма. Чтобы получить ее код проделываем операции 10 и 11. В результате получим исходный код формы по которому можно найти эту форму в конфигураторе и убедиться, что с ней все в порядке, либо привести ее к надлежащему состоянию.

Надеюсь, эта краткая памятка поможет вам сэкономить время на решение этой ошибки.

Вступайте в нашу телеграмм-группу Инфостарт

ошибка формата потока данных

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14640 руб.

29.04.2020    51524    141    162    

96

Корректировка данных Системный администратор Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

6100 руб.

10.02.2017    121886    735    177    

770

Корректировка данных Программист Пользователь 1С:Предприятие 8 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Представьте, что есть система QR - кодирования, которая НЕ ТРЕБУЕТ изменения конфигурации, НЕ ТРЕБУЕТ изменения ни одной печатной формы для добавления QR-кода, включая внешние, НЕ ХРАНИТ данные штрихкодов и их связь, от чего база не "пухнет", ИМЕЕТ возможность закодировать в QR-коде произвольные данные параметров для последующей обработки полученных данных, УМЕЕТ прикреплять сканы, УМЕЕТ обработать считанный QR-код как ВЫ захотите. А также ХРАНИТ историю операций в обход базы для каждого пользователя в отдельности и УМЕЕТ работать с 2D - сканерами. А также автоматически распознавать отсканированные печатные формы (картинки или pdf-файлы) и выполнять заданные произвольные алгоритмы, в том числе прикрепление их к документам! Обновление 3.3 от 24.06.2025!

26840 руб.

26.08.2018    56992    19    65    

58

Файловый обмен (TXT, XML, DBF), FTP Поиск данных Инструменты администратора БД Корректировка данных Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

24400 руб.

27.10.2017    47058    32    15    

50

Зарплата Корректировка данных Бухгалтер 1С 8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет НДФЛ Платные (руб)

Внешняя обработка сравнивает НДФЛ из расчетного листка и НДФЛ из регистра, на разницу формирует документы в 2 шага. Исправляет расхождения, в том числе, когда Аванс больше Зарплаты

9760 руб.

01.09.2023    9151    322    93    

22

Корректировка данных Закрытие периода Мастера заполнения Программист Бизнес-аналитик Бухгалтер Пользователь 1С 8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление нашей фирмой 3.0 1С:УНФ Платные (руб)

Оптимизируйте процесс закрытия периодов. Автоматизируйте любые, даже самые сложные правила переноса и выполните инвентаризацию остатков за минуты. Гибкая обработка для 1С, которая работает как самостоятельный модуль — без привязки к БСП и с поддержкой большинства конфигураций. Ваш идеальный помощник для закрытия периода, исправления ошибок, реорганизации учета, корректировки и списания остатков.

6100 руб.

28.01.2026    1584    5    0    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dvsidelnikov 79 13.07.20 09:17 Сейчас в теме
Увлекательно!

0x1F8B0800000000000400 - это что?
2. 1cNike 210 13.07.20 11:47 Сейчас в теме
(1) Присоединяюсь к вопросу. Откуда взялось это значение?
3. VKislitsin 1056 13.07.20 11:52 Сейчас в теме
(1) Денис, отвечу за автора:
0x1F8B0800000000000400 - это описание GZIP формата (10 байт)
Zhilyakovdr; dvsidelnikov; +2 Ответить
4. VKislitsin 1056 13.07.20 12:09 Сейчас в теме
Немного дополню.
В служебных таблицах ИБ (dbschema, config, configsave, files, params и т.д.) двоичные данные могут быть просто сериализованными (всегда начинаются с 0xEF), или сериализованными и упакованны методом Deflate. Для десериализации можно применить CAST (BinaryData AS XML). Десериализация упакованных - соответственно CAST(DECOMPRESS(0x1F8B0800000000000400 + BinaryData) AS XML)
Функция DECOMPRESS, если я правильно помню, появилась в SQL Server начиная с 2016-й версии.
Unknown31; Zhilyakovdr; dvsidelnikov; +3 Ответить
5. dvsidelnikov 79 13.07.20 16:59 Сейчас в теме
(4) спасибо за дельное дополнение!
6. kosmo0 113 18.07.20 12:59 Сейчас в теме
Вот это да. Для труднорешаемой проблемы написали алгоритм поиска решения. Прежде большинство страдальцев от проблемы плясали с бубном, плясали на бубне, плясали под бубном, плясали в бубне ища способ решения. Респектую.

зы. жаль нужен сервер, так как на файловой базе не применить.
зызы. жаль что это не статья от 1с (вы. пользователи, гребите - авось выгребите)
7. vl-sher1 44 25.07.21 21:44 Сейчас в теме
Серверная БД, EDT 2021.1.5, платформа 8.3.18.1289. "Ошибка формата потока" после очередного обновления конфы при ее запуске из EDT. Расширений нет, меняли объекты конфы. Помогло
truncate table configsave
После этого поднял EDT и все заработало.
8. Zhilyakovdr 148 26.07.21 21:26 Сейчас в теме
(7) Добрый день!
Посмотрите на всякий случай не остались ли артефакты в таблице Config.
В личку кинул небольшой скрипт которым решаю подобные проблемы, там несколько запросов под разные ситуации.
Надеюсь не пригодятся)))
9. user2159220 06.08.25 18:18 Сейчас в теме
(8) Добрый)
У меня стреляет и конфиг и файл один.
Почему не выложили запросы сюда?))) Было бы полезно!

exec sp_executesql N'SEL ECT Creation,Modified,Attributes,DataSize,BinaryData FR OM Config WHERE FileName = @P1 ORDER BY PartNo',N'@P1 nvarchar(128)',N'DynamicallyUpdated'

exec sp_executesql N'SELECT FileName,Creation,Modified,Attributes,DataSize FR OM Files WH ERE PartNo = 0 and FileName = @P1',N'@P1 nvarchar(128)',N'55ad223f-a71e-4c29-88a5-b06ed3327c23.444852a2-93fd-4561-aca7-f21df4ee30e8'
Для отправки сообщения требуется регистрация/авторизация