Каждый администратор или разработчик платформы «1С:Предприятие 8.3» хотя бы раз сталкивался с ситуацией, когда при входе в систему программа выдает предупреждение: «Конфигурация базы данных не соответствует сохраненной». Однако крайнее недоумение вызывает сценарий, когда за соседними компьютерами у разных сотрудников картина отличается: один пользователь заходит без каких-либо предупреждений, а второй сразу видит это системное сообщение. На первый взгляд это кажется мистикой или следствием кэширования локальных файлов, но на самом деле такое поведение имеет абсолютно четкую техническую логику, заложенную разработчиками платформы.
Давайте подробно разберем, почему возникает эта ошибка, как логика распределения прав в 1С влияет на показ системных уведомлений и какими способами можно навсегда решить эту проблему.
Проанализируем архитектуру платформы «1С:Предприятие». Разработчики 1С заложили в систему механизм защиты обычных пользователей от избыточной технической информации. Если в базе данных происходит несоответствие метаданных, рядовой сотрудник (например, бухгалтер или кассир) никак не сможет исправить эту ситуацию самостоятельно, так как у него нет доступа к конфигуратору. Вывод подобных предупреждений обычным пользователям лишь спровоцирует панику и лишние обращения в службу технической поддержки.
Именно поэтому появление окна «Конфигурация базы данных не соответствует сохраненной» жестко привязано к правам доступа учетной записи, под которой осуществляется вход. Платформа анализирует набор ролей пользователя, и если у него активна хотя бы одна роль, содержащая системное право Администрирование, система выводит это предупреждение.
Если у пользователя нет ни одной роли с правом Администрирование, платформа молча проигнорирует несовпадение конфигураций и запустит сеанс в обычном режиме. Таким образом, если часть сотрудников видит это сообщение, а часть — нет, это первый сигнал для проверки их прав доступа. Скорее всего, пользователям, получающим предупреждение, ошибочно (или временно) назначена роль с административными правами (например, полные права или копии административных ролей).
Рассмотрим подробнее, почему вообще возникает данная коллизия в системе. В экосистеме 1С существует разделение на три основных состояния конфигурации:
Когда разработчик вносит изменения в конфигураторе и нажимает кнопку «Сохранить» (или сочетание клавиш Ctrl + S), эти изменения записываются в основную конфигурацию. При этом на панели инструментов конфигуратора активируется пиктограмма в виде синего цилиндра (так называемый «синий бочонок»). Это визуальный индикатор того, что основная конфигурация была изменена и сохранена, но структура реальной базы данных еще не обновлена.
Если в этот момент пользователи попытаются войти в информационную базу, платформа обнаружит расхождение между основной конфигурацией и конфигурацией базы данных. Как результат — пользователи с правами администрирования увидят обсуждаемое предупреждение.
Для устранения этой ошибки у администратора или разработчика есть два основных пути в зависимости от того, должны ли внесенные изменения вступить в силу.
Если изменения в конфигурации были выполнены намеренно и их необходимо применить для работы пользователей, выполним следующие шаги:
Конфигуратор под учетной записью с административными правами.F7).После успешного завершения процесса структура базы данных приведется в соответствие с основной конфигурацией, «синий бочонок» станет неактивным, а предупреждение при входе исчезнет у всех пользователей.
Если изменения в основную конфигурацию были внесены ошибочно или эксперименты программиста не должны попасть в рабочую базу, мы можем легко откатить их назад:
Конфигуратор.Платформа автоматически заместит измененную основную конфигурацию стабильной версией из конфигурации базы данных. Проблема будет полностью решена.
Иногда возникают ситуации, когда применить изменения конфигурации базы данных прямо сейчас невозможно (например, требуется монопольный режим, а в базе работают люди), но нужно временно скрыть навязчивые предупреждения у администраторов, которые часто перезаходят в систему. Для этих целей в платформе 1С предусмотрен специальный параметр командной строки.
Параметр /DisableStartupMessages позволяет подавить вывод различных стартовых диалогов, включая сообщения о несоответствии конфигурации. Рассмотрим пример его использования.
Мы можем прописать этот ключ в дополнительных параметрах запуска информационной базы в окне запуска 1С:
/DisableStartupMessages
Проанализируем важный нюанс, который часто упускают из виду технические специалисты. Использование ключа /DisableStartupMessages отлично работает для толстого и тонкого клиентов 1С при запуске через локальный ярлык. Однако данный способ абсолютно бесполезен для веб-клиентов, запускаемых через интернет-браузеры. Настроить запуск веб-клиента с этим ключом централизованно невозможно.
Поэтому, если ваши пользователи работают с базой через веб-интерфейс, единственным надежным способом убрать назойливое предупреждение является именно тонкая настройка ролей: заберите право Администрирование у тех пользователей, которые не должны выполнять административные функции в системе.