Каминсофт : Вылетает 1с при обновлении на версию 3.0.85 (1/1)

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

image

Данное окно входит в ТОП-3 самых распространенных ошибок 1С:Предприятие. Оно неприятно из-за своей не информативности. Непонятно: где, в чем ошибка? Естественной реакцией будет нажатие кнопки «Перезапустить», но с высокой вероятностью можно утверждать, что перезапуск проблему не устранит, и пользователь снова увидит данное окно.

В этой статье будут объяснены причины возникновения, разновидности и способы устранения «Ошибки формата потока» 1С.

Почему 1С 8 пишет «Ошибки формата потока»?

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

Но что произойдет, если файл “кэша” будет записан с ошибкой/ошибками, в результате неправильного завершения сеанса работы, либо скачка напряжения, либо сбоя сети (для клиент-серверного варианта работы 1С)? При следующей попытке обращения к “кэшу” 1С не сможет прочитать файл и появится окно “Ошибка формата потока”. “Битый кэш” является самой частой причиной возникновения этой ошибки.

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

Виды ошибки формата потока

Условно ошибку формата потока 1С можно поделить на 2 вида:

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

В зависимости от вида ошибки можно выбрать наиболее подходящий вариант ее устранения. Но можно использовать и все способы по очереди, пока один из них не сработает. Способы не нанесут вреда вашей базе 1С 8. Впрочем, если действовать как настоящий профессионал — стоит сначала сделать бэкап, а уже потом бороться с “Ошибкой формата потока”.

Как устранить “Ошибку формата потока”?

Рассмотрим ТОП способов решения :

1. Почистить кэш 1С

Данный способ подробно был рассмотрен в нашей статье “Как очистить Кэш в 1С”. Вкратце напомним. Для удаления файлов кэша вручную необходимо найти папки, где кэш хранится. Для операционных систем Win7 и выше временные файлы хранятся по адресу C:UsersUsernameAppDataRoaming1C и C:UsersUsernameAppDataLocal1C в папках, начинающихся с «1cv8». В Windows XP, в папке пользователя по адресу Local SettingsApplication Data1C. Если папка AppData не видна — настройте видимость скрытых папок. Ниже на рисунке показано, как выглядят файлы кэша – папки с длинными непонятными именами (в нашем случае файл всего один). Для очистки кэша нужно удалить эти папки.

Важно! Удалять папки можно только тогда, когда завершены процессы работы с 1С:Предприятие.

image

2. Запустить тестирование и исправление 1С

В режиме конфигуратора нужно кликнуть по пункту меню “Администрирование” и затем “Тестирование и исправление”.

Должны быть отмечены первые два пункта “реиндексация таблиц информационной базы” и “проверка логической целостности информационной базы”. Нажмите кнопку “Выполнить”. Система сама проверит базу, найдет ошибки, исправит их и предоставим вам отчет о проделанной работе. При необходимости отметьте также третий пункт “проверка ссылочной целостности информационной базы”.

3. Запуск«chdbfl.exe»

Если нет возможности зайти в конфигуратор, тогда запустите программу «chdbfl.exe», которая находится: «C:Program Files (x86)1cv88.3……bin». Выберите файл Базы Данных, отметьте галочкой “Исправлять обнаруженные ошибки” и нажмите кнопку “Выполнить”. Дальше система все сделает за вас. Система сама проверит базу, найдет ошибки и исправит их. Во время работы программы «chdbfl.exe» не должно быть активных сеансов работы с 1С.

4. Выгрузить и загрузить информационную базу в .dt

В режиме конфигуратора выберите пункт меню “Администрирование” и кликните “Выгрузить информационную базу”. После этого выберите место куда хотите сохранить файл базы (.dt), задайте файлу имя и нажмите “Сохранить”.

После этого создайте новую пустую базу у себя на компьютере (либо на сервере). Зайдите в конфигуратор новой базы, нажмите “Администрирование”, затем “Загрузить информационную базу”. Выберите подготовленный ранее файл и нажмите “Открыть”.

5. Выгрузить и загрузить данные XML.

Данный способ может повлечь потерю данных, поэтому его рекомендуется использовать только опытным пользователям. Способ схож с предыдущим и заключается в том, что сначала база выгружается, (только не в .dt, как в предыдущем способе, а в специальный формат .XML). Затем база загружается обратно. Делается это с помощью встроенной обработки “Выгрузка и загрузка данных XML”.

6.Обновление 1С

Причиной рассматриваемой ошибки может стать наличие активных сеансов пользователей, работающих в разных версиях платформы 1С. Например, в базе есть активный сеанс пользователя с платформой 1С 8.3.5…., а пытается подключиться другой, с версией 8.3.4…. Если на компьютере установлены несколько версий — убедитесь, что в окне редактирования информационной базы выбрана нужная вам “правильная” версия.

7. Другие способы

В 99% случаев вышеописанные способы борьбы с “Ошибкой формата потока” эффективно сделают свою работу и ошибка “уйдет”. В оставшемся 1% придется применять более сложную диагностику, иногда выходящую за рамки 1С, например: почистить временные файлы компьютера, а не только кэш 1С; проверить жесткий диск на битые сектора при помощи утилиты “chkdsk.exe”; проверить компьютер антивирусом. Можно даже попробовать запустить базу 1С на другом компьютере и таким образом локализовать проблему, убедившись, что ошибка кроется именно в информационной базе, а не в железе и не в Операционной Системе.

Данная статья создана в помощь столкнувшимся с ошибкой 1С “Ошибка формата потока”, здесь были рассмотрены и объяснены причины ее появления, её условные виды и способы устранения. Ошибка выглядит страшно и непонятно из-за своей неопределенности, но, как видим, устранить данную ошибку по силам каждому.

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

Результат обновления программы

Версия программы успешно обновлена на версию 11.4.13.148

Выполняются дополнительные процедуры и обработки данных на версию 11.4.13.148 Работа с этими данными временно ограничена

Приоритет: Работа пользователей или Обработка данных 8 потоками

Как принудительно обновить 1С

Если столкнулись с такой проблемой, то можно ускорить процесс обновления 1С. Для этого переходим в меню НСИ и Администрирование — Обслуживание — Регламентные операции — Регламентные и фоновые задания»:

На закладке «Регламентные задания» находим строку с названием «Отложенное обновление ИБ», устанавливаем на нее курсор и нажимаем кнопку «Выполнить сейчас»

Через несколько минут в окне, где ранее было зависшее обновление 1С начнется процесс обновления и вскоре увидите окно с сообщением «Дополнительные процедуры обработки данных завершены». Закрываете его и можно начинать работу.

Сегодня примерно с 12:00 у многих пользователей 1С начали возникать ошибки «1с:enterprise integrity violation» («Обнаружено нарушение целостности системы») и «На сервере 1С:Предприятия произошла неисправимая ошибка» в Бухгалтерии предприятия. Данные ошибки вызваны не проверкой лицензионности продукта, как многие считают, а багом 1С.

Содержание Причина ошибки «1с:enterprise integrity violation» Исправляем ошибку «1с:enterprise integrity violation» Решение с сохранением работы баркодов

Причина ошибки «1с:enterprise integrity violation»

Изначально многие считали, что 1С начала очередную попытку заблокировать работу пиратских версий 1С. Ошибка «1с:enterprise integrity violation» возникала у всех в разное время, на разных платформах и конфигурациях. Закономерность сразу определить не получилось. Изучив логи и временные файлы стало понятно, что это не очередная попытка 1С заблокировать пиратские версии, а просто баг.

Открыв просмотр событий Windows, можно заметить, что вылет 1С:Предприятия происходил из-за файла v8_xxx_xx.1CBarcodWin64_9_0_12_13.dll, который располагался в папке C:UsersUSR1CV8AppDataLocalTemp.

Данный файл появляется там во время работы в 1С. Скорей всего разработчики выпустили обновление модуля работы со штрихкодами, которое не устанавливается или не догружается с серверов 1С. В следствии этого происходит сбой сервера 1С и он перезапускается с ошибкой «На сервере 1С:Предприятия произошла неисправимая ошибка» или «1с:enterprise integrity violation».

Исправляем ошибку «1с:enterprise integrity violation»

Внимание! Дальше будет описано временное решение проблемы. Оно позволяет запустить и работать в 1С, но ошибка может все равно возникать при выполнении каких-нибудь действий. Например, ошибка может возникать при печати счета физическому лицу. Если работа с баркодами необходима переходите к следующему разделу Решение с сохранением работы баркодов.

Мы уже выяснили, что ошибка возникает при обращении к файлу v8_xxx_xx.1CBarcodWin64_9_0_12_13.dll, который связан с модулем работы со штрихкодами. Компонента генерации изображений штрихкода подгружается в 1С при запуске 1С:Предприятия. Для ее отключения необходимо внести изменения в конфигурацию.

Запускаем Конфигуратор и открываем конфигурацию проблемной базы. Находим в конфигурации ОбщиеМодули - МенеджерОборудованияКлиент.

Открываем Модуль и закомментируем строку:

МенеджерОборудованияВызовСервера.ПодключитьКомпонентуГенерацииИзображенияШтрихкода();

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

https://cloud.mail.ru/public/q1Nc/h75AQEhYX

Для исправления печати счета физическим лицам необходимо изменить функцию QRКодРеквизитыПлатежа в общем модуле ПечатьТорговыхДокументов.

В начало функции QRКодРеквизитыПлатежа необходимо написать Возврат Неопределено;. У вас должно получиться следующее:

Функция QRКодРеквизитыПлатежа(ДанныеДокумента, ДанныеПечатиЗаголовокСчета)  Возврат Неопределено;  РеквизитыПлатежа = ОбщегоНазначенияБП.НовыйРеквизитыПлатежаУФЭБС();  ЗаполнитьЗначенияСвойств(РеквизитыПлатежа, ДанныеПечатиЗаголовокСчета); ....  КонецФункции

Решение с сохранением работы баркодов

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

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

https://cloud.mail.ru/public/yCeg/ykYqXDL54

После сохранения конфигурации остановите Агент сервера 1С:Предприятие.

Теперь необходимо очистить папки с временными файлами. На сервере очищаем следующие папки:

  • C:Program Files1cv8srvinforeg_1541 (все папки вида 0a8712bb-f98d-419e-a82f-55ab888ecc8a)
  • C:WindowsTemp
  • C:UsersUSR1CV8AppDataLocalTemp (под этим пользователем USR1CV8 запущен Агент сервера 1С, у вас может быть другое имя)

На локальных машинах или на сервере терминалов необходимо очистить папки временных файлов каждого пользователя, который работает с 1С:

  • C:WindowsTemp
  • C:Users[имя_пользователя]AppDataLocalTemp
  • C:Users[имя_пользователя]AppDataLocal1C1cv8 (все папки вида 3e48ee65-66f2-4a0a-8e84-caa266f6a104)

После очистки папок с временными файлами можно запустить Агент сервера и начать работу в 1С.

Для ускорения очистки папок с временными файлами всех пользователей 1С можно воспользоваться bat файлом. Данный файл удаляет кэш 1С у всех пользователей на сервере.

Некоторым помогает создание двух папок:

  • C:WindowsTemp4739d95c-48b5-408e-a51c-4a35d4ee8186.TMP
  • C:UsersUSR1CV8AppDataLocalTemp4739d95c-48b5-408e-a51c-4a35d4ee8186.TMP (под этим пользователем USR1CV8 запущен Агент сервера 1С, у вас может быть другое имя)

Если вы не видите ссылки или какую-то информацию в тексте — отключите блокировщик рекламы! Спасибо за понимание.

Статьи по теме:

Если Вы случайно прервали процесс автоматического обновления, закрыв связанное с ним окно Windows, то ваша информационная база останется заблокированной и работать Вы в ней не сможете. Чтобы исправить ситуацию Вы можете попытаться сделать следующее: Вариант 1. В каталоге временных файлов, а обычно в Windows XP это C:Documents and SettingsТекущий пользовательLocal SettingsTemp, где Текущий пользователь – имя вашего пользовательского каталога, найдите файл v8update.bat и запустите его. В этом варианте процесс обновления запустится заново и имеет шанс пройти до конца. Ни в коем случае не закрывайте окно Windows, открывшееся после запуска этого файла. Вариант 2. Запустите файл unlock.bat. Запустите базу в режиме 1С:Предприятия, в меню “СервисУправление пользователями и доступомЗавершение работы пользователей” снимите блокировку ИБ. В таком варианте может не до конца пройти обновление информационной базы, если конфигурация уже новая, а обновление конфигурации базы данных не произошло, необходимо запустить информационную базу в режиме конфигуратора и нажать клавишу F7.

ТОП ПРОДАЖ Нашли ошибку на сайте? Напишите о ней нам!

Администрирование, Ошибки, Прочее, Сервер 1с

Случилась однажды неприятность на работе: полностью перестали откликаться базы 1с на одном из серверов. При этом служба ‘1C:Enterprise 8.3 Server Agent (x86-64)’ на сервере работает, консоль администрирования доступна, место на диске ‘C’ предостаточно!

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

Второе решение: перезагрузка самого сервера. Сервер перезагрузился, все службы запустились, но проблема не решена: все на том же месте, как и было.

Постепенно начинают волноваться все – работа стоит!

Пробуем дальше диагностировать и решить проблему:

  • 1-ое правильное решение: Смотрим в журнале диспетчера сервера события, в результате которых мог произойти данный сбой:
image
Диспетчер сервера / Журналы windows.

И получаем первые результаты: дал сбой процесс ‘mmc.exe‘ (Процесс Microsoft Management Console или Консоль управления (MMC))

image
Ошибка в журнале сервера ‘mmc.exe’.
  • 2-ое правильное решение: 5 минут поиска в ‘яндексе’ выдал нам одно из основных решений, по устранению данной проблемы: восстановление системных файлов с помощью команды ‘SFC /Scannow’. Открываем командную строку и начинаем исправление:
image
Восстановление системных фалов SFC /Scannow.

В результате мы получили ошибки, которые система успешно исправила. После снова была перезагружена служба 1с – и все заработало! С одним нюансом: часть баз открывается и работает, а часть так же продолжает висеть.

Значит общую проблему мы решили, осталось разобраться отдельно с каждой из неработающих баз. А на сервере 1с по сути есть только одна проблема, которая может возникнуть с конкретной базой ‘файлы журнала регистрации’.

  • 3-ье правильное решение: принято решение почистить их полностью у каждой из неработающих баз.

Как это делать описано в моей статье ‘Файлы журнала регистрации’

Если вкратце: останавливаем службу 1с и удаляем папку с файлами конкретной базы 1с:

image
Останавливаем службу агента сервера 1с.
image
Очищаем файлы журнала регистрации зависающей базы 1с.

После чего запускаем службу 1с – и все! Проблема решена! Все отлично работает!

Конечно так это все работать не должно и очевидно что ошибка здесь в системе: в идеале надо заняться оптимизацией сервера 1с. Обновить сервера, Переустановить систему, настроить её заново и т.д.

В общем это решение помогло мне, надеюсь поможет и вам. Удачи!

Оцените статью
Рейтинг автора
4,8
Материал подготовил
Максим Коновалов
Наш эксперт
Написано статей
127
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий