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

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. В результате получим исходный код формы по которому можно найти эту форму в конфигураторе и убедиться, что с ней все в порядке, либо привести ее к надлежащему состоянию.

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

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

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

См. также

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

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

3600 руб.

10.02.2017    116279    702    176    

742

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

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

14400 руб.

29.04.2020    39687    120    152    

83

Взаиморасчеты Корректировка данных Бухгалтер Пользователь 1С v8.3 1C:Бухгалтерия Бухгалтерский учет Управленческий учет Платные (руб)

Вы наконец разобрались с закрытием месяцев и пора начать контролировать сроки оплаты поставщикам и задолженности клиентов, но в базе расчеты не идут из-за развернутого сальдо? Не беда, есть решение!

12000 руб.

02.11.2020    8576    6    3    

9

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

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

5000 руб.

13.07.2015    52984    182    29    

134

Ценообразование, анализ цен Корректировка данных 1С v8.3 1С:Управление торговлей 11 Платные (руб)

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

5000 руб.

07.05.2025    841    1    0    

2

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

Обработка для группового редактирования реквизитов номенклатуры в 1С для УТ 11 / КА 2. Позволяет редактировать реквизиты (как основные, так и дополнительные реквизиты и сведения) непосредственно в таблице, устанавливать новые значения реквизитов на выбранную номенклатуру, а также загружать новые значения из Excel. Предусмотрена возможность добавления фото к товарам перетаскиванием файла из проводника на строку с товаром (drag'n'drop)

4200 руб.

16.11.2020    18678    13    6    

12

Печатные формы Корректировка данных Учет документов 1С v8.3 1C:Бухгалтерия 1С:Управление нашей фирмой 3.0

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

3600 руб.

28.01.2025    1279    0    0    

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

0x1F8B0800000000000400 - это что?
2. 1cNike 209 13.07.20 11:47 Сейчас в теме
(1) Присоединяюсь к вопросу. Откуда взялось это значение?
3. VKislitsin 1041 13.07.20 11:52 Сейчас в теме
(1) Денис, отвечу за автора:
0x1F8B0800000000000400 - это описание GZIP формата (10 байт)
Zhilyakovdr; dvsidelnikov; +2 Ответить
4. VKislitsin 1041 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 76 13.07.20 16:59 Сейчас в теме
(4) спасибо за дельное дополнение!
6. kosmo0 112 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'
Для отправки сообщения требуется регистрация/авторизация