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

Системный администратор 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием IT и автоматизация бизнеса
← На главную

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

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

Выясняем причину: почему сообщение видят не все?

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

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

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

Физический смысл ошибки: что такое «синий бочонок»?

Рассмотрим подробнее, почему вообще возникает данная коллизия в системе. В экосистеме 1С существует разделение на три основных состояния конфигурации:

  1. Конфигурация поставщика — эталонная конфигурация от разработчика решения (например, фирмы «1С»), используемая для обновлений.
  2. Основная конфигурация — рабочая область программиста в конфигураторе. Именно здесь вносятся изменения в программный код, добавляются новые реквизиты, документы или справочники.
  3. Конфигурация базы данных — реальная структура таблиц СУБД, в которой работают пользователи. Именно с ней происходит сопоставление данных при выполнении запросов.

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

Если в этот момент пользователи попытаются войти в информационную базу, платформа обнаружит расхождение между основной конфигурацией и конфигурацией базы данных. Как результат — пользователи с правами администрирования увидят обсуждаемое предупреждение.

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

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

Способ 1. Обновление конфигурации базы данных (применение изменений)

Если изменения в конфигурации были выполнены намеренно и их необходимо применить для работы пользователей, выполним следующие шаги:

  1. Запустим информационную базу в режиме Конфигуратор под учетной записью с административными правами.
  2. Обратим внимание на статус конфигурации. Если кнопка обновления базы данных активна (тот самый синий бочонок), значит, реструктуризация не завершена.
  3. Перейдем в меню Конфигурация и выберем пункт Обновить конфигурацию базы данных (или просто нажмем горячую клавишу F7).
  4. В открывшемся окне реструктуризации подтвердим изменения, нажав кнопку «Принять».

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

Способ 2. Откат изменений (если правки были случайными)

Если изменения в основную конфигурацию были внесены ошибочно или эксперименты программиста не должны попасть в рабочую базу, мы можем легко откатить их назад:

  1. Откроем Конфигуратор.
  2. В главном меню перейдем по пути: Конфигурация -> Конфигурация базы данных -> Вернуться к конфигурации БД.
  3. Система выдаст предупреждение о том, что все несохраненные изменения в основной конфигурации будут потеряны. Подтвердим действие.

Платформа автоматически заместит измененную основную конфигурацию стабильной версией из конфигурации базы данных. Проблема будет полностью решена.

Использование ключа запуска и его важные ограничения

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

Параметр /DisableStartupMessages позволяет подавить вывод различных стартовых диалогов, включая сообщения о несоответствии конфигурации. Рассмотрим пример его использования.

Мы можем прописать этот ключ в дополнительных параметрах запуска информационной базы в окне запуска 1С:

/DisableStartupMessages

Проанализируем важный нюанс, который часто упускают из виду технические специалисты. Использование ключа /DisableStartupMessages отлично работает для толстого и тонкого клиентов 1С при запуске через локальный ярлык. Однако данный способ абсолютно бесполезен для веб-клиентов, запускаемых через интернет-браузеры. Настроить запуск веб-клиента с этим ключом централизованно невозможно.

Поэтому, если ваши пользователи работают с базой через веб-интерфейс, единственным надежным способом убрать назойливое предупреждение является именно тонкая настройка ролей: заберите право Администрирование у тех пользователей, которые не должны выполнять административные функции в системе.

← На главную