Ошибка «1с:enterprise integrity violation» (Обнаружено нарушение целостности системы)

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

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

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

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

v8_xxx_xx.1CBarcodWin64_9_0_12_13.dll

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

«На сервере 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 (скачивайте с умом, ресурс ответственности за содержимое нести не может)

Подключение расширения в 1С

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

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

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

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

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

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

https://cloud.mail.ru/public/yCeg/ykYqXDL54 (скачивайте с умом, ресурс ответственности за содержимое нести не может)

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

Остановить Агент сервера 1С:Предприятие

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

  • C:\Program Files\1cv8\srvinfo\reg_1541 (все папки вида 0a8712bb-f98d-419e-a82f-55ab888ecc8a)
  • C:\Windows\Temp
  • C:\Users\USR1CV8\AppData\Local\Temp (под этим пользователем USR1CV8 запущен Агент сервера 1С, у вас может быть другое имя)

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

  • C:\Windows\Temp
  • C:\Users\[имя_пользователя]\AppData\Local\Temp
  • C:\Users\[имя_пользователя]\AppData\Local\1C\1cv8\ (все папки вида 3e48ee65-66f2-4a0a-8e84-caa266f6a104)

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

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

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

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

За материал спасибо pogrommist.ru

UPD (08.04.2021): некоторым помогает отключение доступа в Интернет с сервера 1сПредприятие!

UPD (09.04.2021): Можно ограничить выход Сервера 1с по след. адресам: 185.12.152.0/22, 220.181.0.0/16, 39.128.0.0/10, 5.188.115.0/24, 93.184.220.0/22, 37.61.222.112/29, 139.45.192.0/18, 142.250.0.0/15, 64.233.160.0/19, 209.85.128.0/17, 77.88.55.0/24, 5.255.255.0/24, 5.45.205.0/24, 94.100.176.0/21, 217.69.136.0/21, 18.184.212.59, 23.52.27.27, 23.46.123.27, 91.239.5.113, 89.111.148.64/26