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

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С:ЗУП/ЗКГУ ошибок по НДФЛ и взаиморасчетам с сотрудниками на начало расчетного года.

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

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

4800 руб.

06.10.2023    2635    30    15    

35

Тестирование и исправление ключей аналитики ERP, УТ11, КА

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

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

3600 руб.

10.02.2017    107295    636    173    

679

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

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

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

14400 руб.

29.04.2020    27939    82    146    

61

Исправление ошибки закрытия месяца "Обнаружены ненулевые остатки по суммам при нулевом остатке по количеству в регистре себестоимости по организации". УТ 11.4,УТ 11.5, КА 2.4,КА 2.5, ERP 2.4, ERP 2.5, КА 2 Казахстан, Управление торговлей 3 для Казахстана

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

Закрытие месяца - важный процесс в современных конфигурациях, таких как УТ 11.4, УТ 11.5, КА 2.4, КА 2.5 ERP 2.4,ERP 2.5, КА 2 Казахстан, УТ 3 Казахстан регламентные операции влияют на расчет себестоимости, и ошибки в данном расчете не дают картины деятельности организации.

2400 руб.

27.10.2021    22561    302    35    

74

Заполнение документа "Корректировка регистров" произвольными данными

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

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

2400 руб.

13.07.2015    50322    171    29    

121

Исправление ошибок по НДФЛ и взаиморасчетам с сотрудниками в 1С:Бухгалтерия 3.0

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

Внешняя обработка предназначена для исправления самых различных ошибок, возникших по самым разным причинам. Общее проявление этих ошибок видно в различии данных между: проводками и различными отчетами по НДФЛ, заполнении ведомостей на выдачу зарплаты, неверным расчетом НДФЛ при начислении ЗП и т.д.

3600 руб.

09.02.2024    719    3    4    

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

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

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