График : Пн-Пт: 9.30 - 18.00


Борьба с сообщением "Ошибка формата потока" в 1С:Предприятие 8.1

Шаманский бубен

Шаманы IT - кто они?

За что мне нравиться 1С:Предприятие 8.1 - с ним не соскучишься. Итак, сегодня мы будем учиться пляскам с бубном. Есть мнение, что бубны сисадминов в этом случаи не годятся. Это не правда, тоже подойдут.

Когда нужен бубен?

При работе с 1С:Предприятие 8.1 по некоторым независящим от нас с Вами причинам вы можете с толкнуться с сообщением об ошибке «Ошибка формата потока».
Например это может произойти так: После запуска chdbfl.exe выдал ошибки во внутреннем файле превышена длина кода, потом показал что ошибки исправлены. После этого запустить конфигурацию не удалось, стала выходить ошибка "ошибка формата потока......".

Самый распространенный ответ-рекомендация: Попробовать перенести базу на другой компьютер и там запустить.

Звучит загадочно, не правда ли? :)))

Постарайтесь ответить на вопросы: После выполнения каких действий стала появляться эта ошибка?
Эта ошибка появляется при запуске с любого компьютера или только с одного? Например может быть характерна такая ситуация: у клиента при попытке запуска конфигурации в режиме предприятия в клиент-серверном режиме под некоторыми пользователями приложение падает с сообщением "Ошибка формата потока", под остальными пользователями все работает нормально.

 

Частными случаями этой рекомендации можно считать например такие решения:

  • удаление из списка баз и повторное добавление
  • очищение данных из каталога "C:\Documents and Settings\пользователь\Application Data\1C\1Cv81"

Общей причиной возникновения такой ситуации можно считать сбои железа (в одном случае пропала сеть, отключилось электричество), софта и т.д. (и не обязательно 1С).

  • Отключите файрволы и антивирусы
    • Например, известны примеры, когда помогало только УДАЛЕНИЕ Eset Smart Security. Просто отключение его ничего не давало. (Примечание. Коллеги предлагают в настройках снять флаг"Включить  фильтрацию  содержимого протоколов уровня приложений". Если фильтрация всё же нужна и отключать ее не хочется, здесь же можно указать, чтобы файрвол фильтровал только "Порты HTTP и POP3". )
    • Скриншот настройки
  • Скопировать базу с исходного источника другой флешкой :)

В случаи, если есть возможность зайти в режиме конфигуратора, то также есть смысл проверить целостность данных:

  • для файловой версии использовать проверку целостности chdbfl.exe
  • тестирование и исправление средствами конфигуратора
  • выгрузка/загрузка конфигурации

Для ранних версий платформы были характерны механизмы, не контролирующие некорректное хранение данных, поэтому обратите внимание на такие решения как:

  • обновили платформу до последней версии (но не просто обновлением, а удалением старой версии, и затем установкой новой)
  • очистка журнала регистрации
  • проверить обработкой все метаданным все строковые реквизиты (проверяем наличие и удаляем сивмолы 0x1a & 0xFFFF )

Особенно это характерно для ситуаций: после изменения типа реквизита формы справочника при попытке сохранить конфигурацию после долгого продолжительного молчания не приходя в сознание платформа выдала сообщение "ошибка формата потока".

Или в такой ситуации: Если через COMConnector происходит обращение к клиент-серверной базе данных, то возможной причиной ошибки является передача от клиента (COMConnector-а в клиентском приложении) серверу 1С:Предприятия или наоборот значения типа "Строка", содержащего символы с кодами 0x1F или 0xFFFF. Передача может выполняться как через параметры и результат процедур и функций, исполняемых на сервере, так и в том случае, если такие символы содержатся, например, в строковом значении константы.

 

Можно также использовать РИБ, если есть возможность создавать планы или они уже есть:

  • выгружать данные с помощью XML

Или еще бывает так:

При попытке открыть форму документа "Поступление товаров услуг" происходит ошибка "Ошибка формата потока". Ошибка возникает как в Конфигураторе так и в Предприятии.
Система работает в файловом режиме. Решение может быть таким: Удалить данную проблемную форму и вставить другую (объединением) и назначить ее основной.

 

В некоторых случаях можно исследовать проблему с помощью технологического журнала:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<dump create="true" location="C:\Program Files\1cv81\bin\dumps" prntscrn="false" type="2"/>
<log history="96" location="C:\Program Files\1cv81\bin\logs">
<event>
<eq property="name" value="EXCP"/>
</event>
<event>
<eq property="name" value="EXCPCNTX"/>
</event>
<event>
<eq property="name" value="PROC"/>
</event>
<property name="all"/>
</log>
</config>

Примечание. Для 64х-разрядного сервера приложений каталог отличается от размещения клиента . В этом случаи logcfg.xml нужно размещать в обоих подкаталогах /conf, корректирую пути размещения логов.

В этом случаи будут формировать логи для клиента 1С в подкаталоге 1cv8_ХХХХ:

30:02.8131-0,EXCP,1,process=1cv8,Usr=Гилев В.В.,Exception=Exception,Descr=Ошибка формата потока


Думаем, центр кт, убедил Вас делать резервные копии как можно чаще :-)

Можно также воспользоваться платной помощью.

Нашли ошибку на сайте? Напишите о ней нам!
Наверх Обратный звонок