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

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С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

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

60000 руб.

06.10.2023    4692    38    20    

45

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

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

14400 руб.

29.04.2020    34106    108    152    

75

Корректировка данных Программист Пользователь Платформа 1С v8.3 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.2 от 09.06.2024!

19200 руб.

26.08.2018    52714    16    61    

55

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

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

3600 руб.

10.02.2017    111633    670    175    

708

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

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

12000 руб.

02.11.2020    7613    6    0    

8

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

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

2400 руб.

13.07.2015    51457    175    29    

127

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

Обработка предназначена для ООО для смены системы налогообложения УСН на ОСНО, без ведения раздельного учета, входящего НДС по способам учета. При реализации перехода в операции формируются проводки по выделению НДС, который ранее учитывался в стоимости номенклатуры, регистр «НДС Предъявленный».

6000 руб.

22.01.2025    417    1    0    

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

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