• »
  • »

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

Это мешает оперативно выявлять причины и искать пути для исправления данной ошибки. В связи с тем, что однозначного ответа об ее происхождении не существует, в данной статье мы опишем один из распространенных вариантов появления и путей решения ошибки потока данных на примере случая из практики.

Беда подкралась незаметно, и, как полагается, в самый неудобный момент – во время планового обновления информационной базы для свежего релиза. В течение какого-то времени процесс шел нормально, но в определенный момент произошло падение платформы, а сообщение, появившееся при этом, абсолютно не помогало понять причину.

Были предприняты попытки обновить платформу, обновиться с другого компьютера, выгрузить-загрузить базы, но если эти действия ожидаемого результата не принесли. Соответственно, это позволило как минимум сделать вывод о том, что причина проблемы заложена в исходной информационной базе. Однако ни штатные средства проверки, ни утилита сhdbfl.exe не помогали выявить какие-либо ошибки.

В результате напрашивался вариант, что причина ошибки могла крыться непосредственно в конфигурации. В ответ на это предположение бухгалтер уверял, что с базой все было в порядке, и с конфигурацией никто никаких действий не производил. Оптимальный способом обнаружить изменения в конфигурациях стало их сравнение и объединение. И снова поначалу все шло хорошо, но в процессе возникла ошибка, но теперь с более подробным описанием – "Ошибка формата потока".
Несмотря на минимально расширенное описание, причины ошибки все еще оставались совершенно неизвестны, и по поводу дальнейших действий с базой ясности также не было. Одно было очевидно – что ошибка кроется конфигурации. Это стало поводом для тщательной проверки конфигурации, в ходе которой снова возникла та же ошибка.
В результате нескольких проверок было обнаружено, что ошибка проявляется на одном этапе. Сопоставив этот момент с названием тестируемого элемента в строке состояния, появилась возможность определить, какой именно элемент конфигурации поврежден. Необходимо было выявить рабочий элемент, который предшествует ошибке, и в этом помогла программа, записывающая видео с экрана компьютера. В результате был найден последний проверяемый объект – РегламентированныйОтчетНДПИ. По роду деятельности предприятие, на котором использовалась программа, было далеко от добычи полезных ископаемых, поэтому стало ясно, почему ранее ошибка не давала о себе знать.

С целью удостовериться в том, что выводы верны, мы попытались скопировать или выгрузить этот элемент конфигурации – и снова возникла ошибка формата потока.

Итак, причина ошибки обнаружена, и теперь необходимо решить, что с нею делать. Наиболее логичным решением становится удаление "битого" объекта и замена его исправным элементом. В качестве источника нового элемента выступит типовая конфигурация. Необходимо обратить внимание, что если в удаляемом элементе были внесены какие-либо изменения, при замене они будут утеряны.
Перед удалением поврежденный элемент необходимо снять с поддержки. Теперь требовался файл конфигурации аналогичного релиза. Можно также использовать и более раннюю версию, но сразу же ее обновить. Итак, все было готово для сравнения и объединения конфигураций, в ходе которого необходимо проверить, заменился ли поврежденный объект на исправный.
В данном случае обновление производилось не с помощью файла обновления cfu, а с файлом полной конфигурации cf, поскольку в нем точно содержится нужный объект. После этого была возобновлена поддержка замененного объекта, и оставалось только обновить конфигурацию базы данных.

Вкратце процесс устранения ошибки потока данных в описанном случае включал следующие пункты:
1) обновление платформы, выгрузка-загрузка данных;
2) проверка базы данных штатными средствами и утилитой сhdbfl.exe;
3) сравнение и объединение исходной и текущей конфигурации;
4) выявление проблемного элемента в ходе тщательных проверок конфигурации;
5) удаление поврежденного элемента;
6) восстановление исправного объекта путем обновления конфигурации.

Мы описали лишь один из возможных вариантов того, как исправить ошибку формата потока. Ее причины и пути решения связанных с этим проблем могут быть и другие, и мы расскажем о них в дальнейших публикациях по данной теме.