Случай простой причины этой ошибки. Функция «ЗначениеИзСтрокиВнутр» в случае ошибочного входного параметра приводит к исключению. Значение не формируется.

В данном случае требуется проверить:

  • как формируется данное значение?
  • не преобразуется ли оно в процессе?
  • не усекается/обрезается?

Также не будет лишним, добавить конструкцию Попытку <>Исключение <> КонецПопытки.

У меня результат передавался через Web-сервис и при любой ошибке на удаленной стороне код становился неработоспособным.

Полная ошибка:

Ошибка при вызове метода контекста (ЗначениеИзСтрокиВнутр)
ТЗ = ЗначениеИзСтрокиВнутр(Результат);
по причине:
Ошибка преобразования
по причине:
Ошибка формата потока

Рекламные объявления содержат единственные правдивые сведения, которые можно найти в газетах.

Такая проблема, как Ошибка формата потока, в 1С 8.3 встречается достаточно часто. Рассмотрим, как исправить данную ошибку.

Что же такое ошибка формата потока в 1с 8.3?

Такое происходит в следующих ситуациях:

  1. Ошибка формата потока при запуске 1С Предприятия 8.2 или конфигуратора обычно связана с проблемами в кеше. Обычно она вызвана неправильным выключением системы вследствие, например, отключения электричества. Поэтому настоятельно рекомендуется ставить блоки бесперебойного питания, чтобы не потерять важную информацию. Часто ошибка появляется при запуске базы после обновления конфигурации.
  2. Вторая ситуация — при формировании какого-либо отчета, например, открытии отчета оборотно сальдовой ведомости, проведении документа, открытии документа и т.д. Часто это связано именно с содержанием информации в базе данных. Причиной этой ошибки чаще всего является наличие «битой» информации внутри системы.

Получите 267 видеоуроков по 1С бесплатно:

Исправление

  1. Как правило, для решения данной проблемы достаточно почистить временные файлы в системе. Подробнее по очистке кэша.
  2. Если не помогло, но есть возможность попасть в конфигуратор, запустите тестирование и исправление базы данных в конфигураторе.
  3. Если доступа в конфигуратор нет, и база тестовая — воспользуйтесь утилитой ChDBFl.exe, которая располагается в папке программы.
  4. Если вышеперечисленные методы не помогают, но запускается режим 1С предприятие, выгрузите данные в новую базу с помощью обработки «Универсальная выгрузка/загрузка данных XML«. Однако при этом возможны потери данных.
  5. Обновление. Еще одной причиной может стать наличие активных сеансов пользователей с разной версией клиентской части платформы 1С. То есть, например, в базе работает пользователь с платформой 1С 8.3.5.1517, а пытается подключиться другой, с версией 8.3.5.1444.

Если это не помогло — есть более изощренные способы решения данной проблемы. Например, с помощью HEX-редактора. Если Вам необходима квалифицированная помощь программистов 1С, обратитесь к нам! Подробности на странице услуги 1С программиста.

Смотрите наше видео про исправление ошибок файловой базы данных 1С:

И видео от Ильи Леонтьева про эту ошибку при обновлении конфигурации:

Другие статьи по 1С:

Если вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Михаил Сайко

Практически любой пользователь 1С предприятия сталкивался с ошибкой следующего вида:

Эта ошибка является одной из самых распространенных и очень пугает пользователей своей неинформативностью: не понятно, что случилось и где конкретно произошла ошибка. Первым решением в такой ситуации зачастую становится нажатие кнопки «Перезапустить». Это не помогает, как не помогает и следующий шаг большинства пользователей – перезагрузка компьютера. Как можно исправить данную ошибку, мы расскажем в этой статье, но сразу хотелось бы уточнить, что описанные ниже действия требуют определенных знаний, поэтому, если вы не уверены в своих силах, обращайтесь за помощью по 1С к профессионалам.

Причины появления ошибки формата потока

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

А если кэш-файлы будут повреждены или некорректно записаны?

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

Ошибка может возникать также из-за некорректно записанных данных в самой программе (документы, справочники, регистры и т.д.).

Виды ошибки

  • Ошибка, возникающая при запуске программы. Как правило, возникает при некорректном завершении работы и других причинах, описанных выше. В этом случае искать ошибку следует в кэше.
  • Ошибка возникает при работе в программе (запуск программы проходит без проблем), при обращении к определенным метаданным или при совершении определенных операций. В данном случае ошибку будем искать в самой программе.
  • В пользовательском режиме программа работает совершенно нормально, ошибок нет. Но при входе в конфигуратор или, реже, при совершении определенных действий, возникает ошибка формата потока*. В случае такой ошибки опять же ищем причину в кэше.

*Такая ошибка была характерна для времени появления платформы 8.3, а в последнее время она почти не встречается, так что есть вероятность, что разработчик ошибку исправил.

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

Способы устранения ошибки

Очистка кэша 1С. Подробно этот способ рассмотрен в отдельной статье на нашем сайте. Но если сказать вкратце, самым надежным способом является удаление файлов кэша вручную из папок на компьютере. Для этого нужно установить их месторасположение. В системах, начиная с Win 7 и выше, папки кэша находятся здесь:

В Win XP они расположены в папке локального пользователя по адресу:

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

Для каждой новой базы данных программа создает новую папку с кэшем. При удалении базы данных папка автоматически не удаляется. При удалении папок не должно быть активных сеансов с базами данных.


Запуск утилиты «Тестирование и исправление в конфигураторе». Для тестирования и исправления ошибок нам нужно зайти в конфигуратор и «Администрировании» выбрать соответствующий пункт.

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

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

Запуск утилиты «chdbfl.exe». Когда зайти в конфигуратор не представляется возможным (ошибка появляется сразу при запуске базы данных), стоит воспользоваться утилитой chdbfl.exe. Она расположена в папке с установленной платформой 1С. Путь следующий:

Запускаем утилиту от имени администратора. В появившемся окне указываем путь к файлу базы данных 1cv8.1CD, ставим галочку «Исправлять выявленные ошибки», затем – «Выполнить». В процессе проверки программа автоматом исправит все найденные ошибки и выдаст информацию о них.

Иногда в процессе проверки программа не находит ошибок. На практике бывают случаи, когда ошибки находятся при второй или даже третьей проверке подряд. Поэтому стоит делать не менее трех проверок.

Но это не все! Бывает, что с 3-х попыток ошибки не были найдены, но после проверки, во время работы программы, не появились. Возможно, что часть ошибок была найдена и исправлена в разновидности фонового режима, без выдачи сообщений об этом. Поэтому, даже если после нескольких проверок ошибки не были найдены, все равно стоит запустить и проверить базу 1С. Возможно, они все-таки были исправлены.

Выгрузка-загрузка базы 1С через конфигуратор. Суть способа заключается в банальном создании архивной копии в режиме конфигуратора и ее загрузке в пустую базу.

В конфигураторе, в разделе «Администрирование» выберем «Выгрузить информационную базу». После этого укажем, где мы хотим создать архивную копию.

Когда выгрузка будет закончена, создадим новую пустую базу без конфигурации и загрузим туда полученный файл.

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

Выгрузка – загрузка данных через xml. Способ очень похож на предыдущий. Отличие его в том, что мы не делаем копию всей базы, а выгружаем только данные из нее, но загружаем их так же, в новую пустую базу. Все это делается с помощью стандартной обработки «Выгрузка и загрузка данных xml», которую можно найти на диске ИТС.

Запускается она просто: Главное меню – Файл – Открыть. Далее указываем, где лежит обработка.

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

Точно так же происходит загрузка данных из сформированного файла xml.

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

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

База просто не запустится, и в этом случае прямо укажет почему.

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

В большинстве случаев один из вышеперечисленных способов помогает устранить ошибку формата потока. Если ни один из них не помог, стоит прибегнуть к более сложной диагностике – проверке жесткого диска на битые сектора с помощью утилиты chkdsk.exe, очистке временных файлов компьютера, а не только кэша 1С, проверке компьютера антивирусом и проверке настроек антивируса и фаервола. Также стоит запустить базу данных на другом компьютере, чтобы убедиться, что проблема в самой базе, а не в железе или операционной системе.

Если проблемы с возникновением ошибок не удалось решить, обратитесь к нашим специалистам: мы проконсультируем и подберем для вас оптимальную стоимость сопровождения 1С, исходя из ваших конкретных задач и потребностей.