Содержание
- Почему 1С 8 пишет «Ошибки формата потока»?
- Виды ошибки формата потока
- Как устранить “Ошибку формата потока”?
- Результат обновления программы
- Как принудительно обновить 1С
- Причина ошибки «1с:enterprise integrity violation»
- Исправляем ошибку «1с:enterprise integrity violation»
- Решение с сохранением работы баркодов
Каждый, кто работает с 1С:Предприятие в любой конфигурации хотя бы раз видел перед глазами окно с ошибкой «Ошибка формата потока».
Данное окно входит в ТОП-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С:Предприятие.
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-ое правильное решение: Смотрим в журнале диспетчера сервера события, в результате которых мог произойти данный сбой:
И получаем первые результаты: дал сбой процесс ‘mmc.exe‘ (Процесс Microsoft Management Console или Консоль управления (MMC))
- 2-ое правильное решение: 5 минут поиска в ‘яндексе’ выдал нам одно из основных решений, по устранению данной проблемы: восстановление системных файлов с помощью команды ‘SFC /Scannow’. Открываем командную строку и начинаем исправление:
В результате мы получили ошибки, которые система успешно исправила. После снова была перезагружена служба 1с – и все заработало! С одним нюансом: часть баз открывается и работает, а часть так же продолжает висеть.
Значит общую проблему мы решили, осталось разобраться отдельно с каждой из неработающих баз. А на сервере 1с по сути есть только одна проблема, которая может возникнуть с конкретной базой ‘файлы журнала регистрации’.
- 3-ье правильное решение: принято решение почистить их полностью у каждой из неработающих баз.
Как это делать описано в моей статье ‘Файлы журнала регистрации’
Если вкратце: останавливаем службу 1с и удаляем папку с файлами конкретной базы 1с:
После чего запускаем службу 1с – и все! Проблема решена! Все отлично работает!
Конечно так это все работать не должно и очевидно что ошибка здесь в системе: в идеале надо заняться оптимизацией сервера 1с. Обновить сервера, Переустановить систему, настроить её заново и т.д.
В общем это решение помогло мне, надеюсь поможет и вам. Удачи!
ли со статьей или есть что добавить?