Доброго времени суток, коллеги. Вот и меня настигла "Ошибка формата потока" при доработке одной из конфигурации УТ (релиз. 11.3.2.218), платформа 8.3.9.1818.
Началось все с того, что после внесенных изменений в конфигурацию и обновления конфигурации базы данных (не динамическое) у части пользователей полностью пропали все разделы и команды в интерфейсе (интерфейс Такси).
Полез разбираться и БАМ!! "Ошибка формата потока".
Стандартные действия описанные здесь и еще в пару местах не помогли. Было понимание, что связано это как-то с интерфейсом конфигурации, но как? Кэши сервера и пользователей были очищены не по одному разу, базы выгружены перевыгружены, конфигурации тоже.
Я уже забил на это, ибо времени и так ушло очень много. Восстановили работоспособность базы (не буду на этом подробно останавливаться), но противное окно так и продолжало появляться.
И вот на другом проекте совершенно неожиданно, конфигуратор радостно мне выдал знакомую ошибку. А "словил" я её в момент добавления общей команды, причем на самописной конфигурации. Добавил общую команду, сохранил конфигурацию все норм, но после указания "Типа параметра команды" выскочило то самое окно. Вот теперь стало более менее понятно откуда ноги растут.
Соответственно после этого сделал следующее, открыл конфигуратор УТ тестовой базы с ошибкой, но предварительно сохранив конфигурацию в файл. Выгрузил cf и снес в базе все общие команды и УРА! Ошибка ушла. (Как вариант, если не поможет, посносить потом все команды у объектов). Правда еще оставались опасения, что ошибка сидит в файле выгруженной конфигурации, но после обычного сравнения и объединения всё восстановилось.
P.S. Не претендую на истину в последней инстанции, может плохо искал, но такого способа исправления нигде не нашел. Так что данный материал будет полезен как дополнение к предыдущим статьям и позволит сэкономить немножко времени.
Ошибка выскакивала и просто когда делаешь сравнение и объединение конфигураций и когда полностью загружаешь конфигурацию, правда в этом случае конфигуратор не падал. А вот при попытке посмотреть свойства общей команды конфигуратор ложился намертво.
Понятно что к этой ошибке приводит какая-то конкретная общая команда, но в УТ их столько, что поиск такой команды займет целый рабочий день.
P.S.S. Правда дальнейшее копание показало, что лучше взять файл конфигурации до появления данной ошибки. И есть риск того, что некоторые общие команды станут недоступны в интферфейсах пользователей, так что сначала лучше потренироваться "на кошках".