Сообщение «Обнаружено нарушение целостности системы» 1С:Предприятие 8.3 показывает, когда при запуске проверяет собственные файлы и находит в них что-то не то: файла нет, он заблокирован, повреждён или взят из другой сборки платформы. Работать с базой в таком состоянии программа не даст. Сама база при этом, как правило, в порядке: сбой скорее всего в установленной платформе на конкретном компьютере или сервере.
Коротко, что делать: посмотрите, какая версия платформы запускается и совпадает ли она с версией на сервере 1С, затем удалите эту версию платформы и поставьте её заново из чистого дистрибутива, очистите кэш пользователя и добавьте папку платформы в исключения антивируса. В большинстве случаев этого хватает.
Если ошибка у одного сотрудника, ищите причину на его компьютере. Если у всех сразу, проблема на сервере 1С или на терминальном сервере, где работают пользователи. Ниже разбираем причины по порядку, и напишем пошаговую инструкцию и, как не попасть в эту ситуацию снова.
Когда появляется сообщение
Ошибка почти никогда не возникает на ровном месте. Обычно ей предшествует одно из событий:
- обновили платформу. Новую версию поставили на сервер, но не на все клиентские компьютеры, или установка прошла не до конца;
- сменили компьютер или сервер. Платформу перенесли копированием папки, а не установили штатными способами, либо на новом месте оказались файлы от разных сборок;
- отработал антивирус. После обновления антивирусных баз часть файлов платформы ушла в карантин или была заблокирована;
- компьютер выключился во время обновления. Пропало питание, пользователь закрыл окно установщика, Windows перезагрузилась ради своих обновлений;
- сбой диска. Битые сектора или ошибки файловой системы повредили файлы в каталоге платформы.
Если вспомнить, что менялось на компьютере в последние дни, половина диагностики уже сделана.
Причины по порядку
Разберём причины в том порядке, в каком их имеет смысл проверять: от самой частой и простой к более редким.
1. Разные версии платформы на сервере и клиенте
В клиент-серверном варианте 1С версия клиента должна точно совпадать с версией сервера, вплоть до последней цифры сборки. Обычно при несовпадении 1С пишет отдельное сообщение о разных версиях клиента и сервера. Но на практике мы часто сталкиваемся с ситуацией: на компьютере стоят две-три версии платформы, а список баз настроен так, что конкретная база открывается старой, частично удалённой версией. Такая «половинчатая» установка и приводит к сообщению о нарушении целостности.
С файловыми базами похожая история: база сама по себе к версии не привязана, но запускающий модуль выбирает платформу по настройкам списка баз. Если там указана версия, от которой остались только обрывки, запуск выдаст ошибку целостности.
2. Повреждённые файлы установки
Файлы платформы могут повредиться при скачивании дистрибутива, при копировании с флешки, из-за ошибок диска. Отдельный случай: платформу переносили на другой компьютер простым копированием папки 1cv8 или подкладывали в неё отдельные DLL «чтобы наконец заработало!» — реальный случай из практики. Такой каталог выглядит целым, но набор файлов в нём не соответствует ни одной официальной сборке.
Сюда же относятся сборки платформы из непроверенных источников и сторонние утилиты, которые изменяют файлы 1С или встраиваются в её работу. Проверка целостности как раз и нужна, чтобы замечать такие изменения. Вылечить это можно только чистой установкой дистрибутива с портала 1С или от вашего партнёра 1С.
3. Антивирус удалил или заблокировал файлы
Антивирусы иногда ошибочно считают отдельные модули платформы подозрительными. Файл уходит в карантин, а 1С при следующем запуске не находит его или не может прочитать. Особенно часто это случается сразу после выхода новой версии платформы: у антивирусных компаний ещё нет её в белых списках.
Признак этой причины: ошибка появилась «сама», без обновлений и переездов, а в журнале антивируса в то же время есть события по файлам из каталога 1cv8.
4. Сбой обновления
Установщик платформы копирует сотни файлов и регистрирует компоненты. Если процесс прервали, часть файлов остаётся от старой сборки, часть уже от новой. Бывает и так, что обновление шло, пока пользователи работали в 1С: занятые файлы установщик заменить не смог. Результат тот же: набор файлов в каталоге не согласован.
Симптом, причина, что делать
| Что видите | Вероятная причина | Что делать |
|---|---|---|
| Ошибка появилась сразу после обновления платформы | Установка прошла не полностью или прервалась | Удалить эту версию и установить заново при закрытой 1С |
| Ошибка у одного пользователя, у остальных всё работает | Повреждена платформа на его компьютере, старый кэш | Проверить версию, переустановить платформу, очистить кэш |
| Ошибка у всех пользователей терминального сервера | Повреждена платформа на самом терминальном сервере | Переустановить платформу на сервере в нерабочее время |
| Ошибка появилась без обновлений, в журнале антивируса есть файлы 1С | Антивирус отправил файлы в карантин | Восстановить или переустановить, добавить папку в исключения |
| После переезда на новый компьютер | Платформу скопировали папкой, а не установили | Установить платформу штатным установщиком |
| На компьютере несколько версий платформы | База открывается старой или неполной версией | Удалить лишние версии, указать нужную в свойствах базы |
Как исправить: по шагам
Перед началом закройте 1С у всех пользователей на этом компьютере или сервере. Если база важная и свежей копии нет, сначала сделайте её. Сама ошибка базу не портит, но при работе с сервером лучше иметь страховку. Как организовать копии без ручной работы, мы разбирали в статье про резервное копирование 1С по расписанию.
Шаг 1. Проверьте версии платформы
- Узнайте, какая версия нужна. В клиент-серверном варианте это версия сервера 1С: её знает администратор, её видно в консоли администрирования серверов 1С и в списке установленных программ на сервере.
- Посмотрите, какие версии стоят на компьютере с ошибкой. Откройте «Параметры» → «Приложения» (или «Панель управления» → «Программы и компоненты») и найдите в списке строки «1С:Предприятие 8». У каждой указан номер версии.
- Загляните в каталог установки платформы. Обычно это
C:\Program Files\1cv8\для 64-разрядной версии иC:\Program Files (x86)\1cv8\для 32-разрядной. Внутри лежат папки с номерами версий. Папка без подкаталогаbinили с почти пустымbinговорит о неполной установке. - Проверьте, какой версией открывается база. В окне запуска выберите базу, нажмите «Изменить» и пройдите до последнего шага мастера. Там есть поле с версией 1С:Предприятия. Если оно пустое, используется версия по умолчанию.
Если на компьютере нет нужной версии или их несколько и непонятно, какая «живая», переходите к переустановке.
Шаг 2. Переустановите платформу
- Скачайте дистрибутив нужной версии заново. Берите его с портала 1С или у партнёра, который обслуживает вашу 1С. Старый дистрибутив из общей папки не используйте: он тоже может быть повреждён.
- Закройте все окна 1С. На терминальном сервере убедитесь, что у пользователей нет открытых сеансов с 1С.
- Удалите проблемную версию через «Программы и компоненты».
- Проверьте, что папка этой версии в каталоге
1cv8исчезла. Если что-то осталось, удалите остатки вручную. - Запустите установщик из нового дистрибутива от имени администратора и дождитесь окончания. Не перезагружайте компьютер и не закрывайте окно до сообщения об успешной установке.
- Попробуйте открыть базу.
Если на этом компьютере работает сервер 1С, перед переустановкой остановите службу агента сервера 1С:Предприятия, а после установки проверьте, что она снова запущена и использует нужную версию. Это операция для администратора: ошибка в ней остановит работу всех пользователей.
Шаг 3. Очистите кэш 1С
1С хранит у каждого пользователя локальный кэш: служебные данные о базах, настройках и конфигурации. После неудачного обновления в кэше могут остаться сведения, которые не соответствуют новой платформе. Очистка кэша безопасна для данных базы: при следующем запуске 1С соберёт его заново, просто первый вход будет немного дольше обычного.
- Закройте 1С.
- Нажмите
Win + R, введите%APPDATA%\1C\1cv8и нажмите Enter. - Удалите папки с длинными именами из букв и цифр (идентификаторы баз). Файлы списка баз и настроек в корне папки не трогайте.
- Повторите то же для
%LOCALAPPDATA%\1C\1cv8. - Запустите 1С и откройте базу.
Удобный вариант без ручной работы с папками: в окне запуска 1С выберите базу, нажмите «Изменить» и на последнем шаге добавьте в дополнительные параметры запуска /ClearCache. После одного успешного входа параметр лучше убрать, чтобы ускорить запуск.
На терминальном сервере кэш хранится в профиле каждого пользователя отдельно. Чистить его нужно у тех, у кого ошибка, находясь в их сеансе или в их папке профиля.
Шаг 4. Проверьте исключения антивируса
- Откройте журнал или карантин антивируса. Поищите события по файлам из каталога
1cv8за последние дни. - Если файлы 1С есть в карантине, не восстанавливайте их поштучно. Надёжнее переустановить платформу (шаг 2), чтобы все файлы были из одной сборки.
- Добавьте в исключения антивируса каталог установки платформы. Для встроенного Защитника Windows это делается в приложении «Безопасность Windows» → «Защита от вирусов и угроз» → «Управление настройками» → «Исключения».
- На сервере 1С добавьте в исключения и каталог с данными сервера и базами. Это заодно снимет лишнюю нагрузку на диск.
Исключения не должны быть шире нужного. Только каталог платформы и папки баз, а не весь диск C:. Сторонние антивирусы настраиваются через свою консоль, а в компании часто через центральный сервер управления: тогда изменения вносит администратор.
Если ошибка только у одного пользователя
Раз у остальных всё работает, база и сервер в порядке. Проблема на компьютере или в профиле этого сотрудника.
- Сравните версию платформы на его компьютере с версией у коллег, у которых всё работает.
- Очистите кэш 1С в его профиле.
- Проверьте карантин антивируса на этом компьютере.
- Если не помогло, переустановите платформу.
- Если и после переустановки ошибка повторяется, проверьте диск: запустите проверку файловой системы и посмотрите состояние накопителя в утилите производителя или по данным SMART. Повторяющееся повреждение свежеустановленных файлов часто говорит о проблемах с диском.
Если сотрудник работает на терминальном сервере, а у коллег на том же сервере ошибки нет, платформа на сервере исправна. Тогда остаётся профиль пользователя: чистите кэш в его профиле. В редких случаях помогает пересоздание профиля, но это уже работа для администратора.
Если ошибка у всех
Когда 1С не открывается у всех, ищите причину в общем звене:
- Все работают через терминальный сервер. Переустановите платформу на нём. Предварительно предупредите пользователей и завершите их сеансы, иначе часть файлов окажется занята и установка снова получится неполной.
- У каждого своя 1С, база клиент-серверная. Проверьте, не обновили ли сервер 1С. Если сервер обновили, на всех клиентах нужна та же версия платформы. Если на сервере сбой установки, переустановите платформу сервера.
- Файловая база в общей папке. Сама база обычно ни при чём. Проверьте, не раскатывалось ли обновление платформы на все компьютеры разом и не прошло ли массовое обновление антивирусных баз.
Массовый сбой почти всегда связан с одним событием: обновлением платформы или антивируса. Выясните, что менялось накануне, и начните с него.
Если после всех шагов 1С не открывается, а при запуске появляются другие ошибки, посмотрите разбор «Ошибки формата потока» в 1С: она тоже часто связана с повреждённым кэшем или файлами.
Как не допустить повторения
Ошибка неприятна тем, что возникает в рабочее время и останавливает бухгалтерию. Несколько простых правил снижают вероятность почти до нуля:
- Одна версия платформы на всех. Сервер 1С, терминальный сервер и все клиентские компьютеры должны работать на одной и той же сборке. Старые версии после перехода удаляйте, не копите их.
- Обновление по регламенту. Платформу обновляет один ответственный человек, в нерабочее время, когда в 1С никого нет. Сначала на тестовом компьютере или копии базы, потом на всех остальных.
- Только штатная установка. Никакого копирования папки
1cv8между компьютерами и никаких подменённых DLL. Только установщик из официального дистрибутива. - Исключения антивируса заранее. Добавьте каталог платформы в исключения сразу при настройке компьютера, а не после сбоя.
- Резервные копии баз. Сама ошибка данные не портит, но переустановка сервера и эксперименты с кэшем проходят спокойнее, когда есть свежая копия.
- Исправный диск. Следите за состоянием накопителей на сервере. Повреждённый диск рано или поздно испортит и файлы платформы, и базу.
Если 1С после обновления не падает, но заметно замедлилась, пригодится отдельная статья о том, что делать, когда 1С тормозит.
Если в компании нет своего администратора, а обновления платформы превращаются в лотерею, разумно передать их подрядчику, например заключить договор на удалённое обслуживание компьютеров. Тогда обновлениями и настройкой антивируса занимается специалист по заранее согласованному графику.
Частые вопросы
Повреждается ли база 1С при этой ошибке?
Как правило, нет. Проверка целостности касается файлов платформы, а не данных. База остаётся в том состоянии, в каком была при последнем закрытии. Но если ошибка связана со сбоем диска, стоит проверить и базу, и свежесть резервных копий.
Можно ли просто восстановить файлы из карантина антивируса?
Можно, и иногда это помогает. Но надёжнее переустановить платформу целиком: так вы уверены, что все файлы из одной сборки и ни один не пропал. Восстановленные из карантина файлы без исключения в антивирусе попадут туда снова.
Нужно ли удалять старые версии платформы?
Да, если ими никто не пользуется. Несколько версий на одном компьютере повышают шанс, что база откроется не той версией. Оставьте только ту, что совпадает с сервером, и при необходимости одну предыдущую на время перехода.
Помогает ли переустановка Windows?
Это избыточная мера. Ошибка решается переустановкой самой платформы 1С. Переустановка Windows оправдана, только если на компьютере много других сбоев или повреждена сама система.
Почему ошибка вернулась через несколько дней после переустановки?
Чаще всего снова срабатывает антивирус, если каталог 1С не добавили в исключения. Вторая причина: кто-то повторно ставит на компьютер другую версию или копирует файлы вручную. Третья: неисправный диск, который продолжает портить файлы. Проверьте все три.
Можно ли исправить ошибку без прав администратора?
Очистить кэш в своём профиле можно и без прав администратора. Переустановка платформы и настройка антивируса требуют прав администратора компьютера, а на сервере это работа системного администратора.