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

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

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

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

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

---

Почему возникает это сообщение: разбираем архитектуру 1С

Прежде чем переходить к устранению симптомов, важно понять первопричину. В платформе «1С:Предприятие» метаданные существуют в двух состояниях:

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

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

---

Решение 1. Ограничение прав пользователей (наиболее правильный подход)

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

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

  1. Откройте информационную базу в режиме Конфигуратор.
  2. Перейдите в ветку дерева метаданных Общие — Роли.
  3. Найдите роль, назначенную обычным пользователям (часто по ошибке им назначают роль Полные права или копируют её настройки).
  4. Откройте свойства роли и перейдите на вкладку Права.
  5. В корне списка прав (на уровне всей конфигурации) найдите право Администрирование (а также Администрирование данных и Обновление конфигурации базы данных).
  6. Снимите галочки с этих пунктов для всех ролей, кроме роли системного администратора.
  7. Сохраните изменения и обновите конфигурацию базы данных (F7).

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

---

Решение 2. Отключение сообщения для тонкого и толстого клиентов через параметры запуска

Если по каким-то причинам вы не можете оперативно изменить права пользователей, существует обходной технический путь. Мы можем принудительно запретить платформе выводить любые стартовые предупреждения.

Для пользователей, запускающих 1С через стандартное окно запуска (стартер), можно прописать специальный ключ запуска /DisableStartupMessages. Рассмотрим, как это сделать:

Вариант А: Индивидуальная настройка ярлыка

Если пользователь запускает систему напрямую через ярлык, кликните по ярлыку правой кнопкой мыши, выберите «Свойства» и в поле «Объект» в самом конце строки через пробел добавьте параметр:


"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "C:\Base1C" /DisableStartupMessages

Вариант Б: Настройка списка баз (файлы .v8i)

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


[Имя Вашей Рабочей Базы]
Connect=Srvr="Server1C";Ref="WorkBase";
AdditionalParameters=/DisableStartupMessages

Параметр AdditionalParameters автоматически применит ключ запуска ко всем пользователям, которые используют этот список баз.

---

Решение 3. Отключение сообщения для веб-клиентов через параметры URL

Особую сложность всегда вызывают пользователи, работающие через веб-интерфейс (в браузере). Для них невозможно настроить локальный ярлык или отредактировать файл .v8i.

Тем не менее платформа «1С:Предприятие» позволяет передавать параметры запуска веб-клиента прямо в адресной строке браузера (URL). Нам достаточно модифицировать ссылку, по которой пользователи заходят в базу.

Разберем по шагам, как сформировать правильную ссылку:

  1. Если ссылка на вашу базу выглядит стандартно, без дополнительных параметров, добавьте знак вопроса и имя параметра: http://имя_сервера/имя_базы/?DisableStartupMessages
  2. Если в вашей ссылке уже используются другие параметры запуска (например, режим работы окна или имя пользователя), то новый параметр добавляется через амперсанд (&): http://имя_сервера/имя_базы/?mainWindowMode=Workplace&DisableStartupMessages

Разошлите пользователям веб-клиента обновленную ссылку или обновите закладки в их браузерах. С этого момента веб-клиент будет игнорировать несоответствие конфигураций при старте сессии.

---

Решение 4. Автоматический откат изменений через командную строку (/RollbackCfg)

Часто проблема возникает из-за человеческого фактора: разработчик зашел в конфигуратор рабочей базы, случайно что-то изменил (например, сдвинул элемент на форме или случайно нажал пробел в коде модуля), закрыл конфигуратор, но база осталась в измененном состоянии.

Вместо того чтобы вручную заходить в конфигуратор и выбирать пункт меню «Конфигурация» — «Вернуться к конфигурации БД», мы можем полностью автоматизировать этот процесс. Для этого воспользуемся параметром командной строки конфигуратора /RollbackCfg.

Создадим простой командный файл (скрипт .bat или .cmd), который администратор может запускать мгновенно в случае ЧП, или настроим его выполнение по расписанию в ночное время:


@echo off
rem Путь к исполняемому файлу платформы 1С
set "EXE1C=C:\Program Files\1cv8\8.3.22.1709\bin\1cv8.exe"

rem Параметры подключения к вашей базе (серверный вариант)
set "CONNECTION_STRING=/S ServerName\BaseName"
set "ADMIN_USER=/N Admin"
set "ADMIN_PASS=/P Pa$$word"

rem Запуск отката изменений основной конфигурации к конфигурации базы данных
"%EXE1C%" CONFIG %CONNECTION_STRING% %ADMIN_USER% %ADMIN_PASS% /RollbackCfg

echo Откат изменений успешно завершен.
pause

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


"%EXE1C%" CONFIG %CONNECTION_STRING% %ADMIN_USER% %ADMIN_PASS% /RollbackCfg -Extension "ИмяВашегоРасширения"

---

Решение 5. Превентивная блокировка редактирования рабочей базы

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

Метод А: Запрет редактирования через настройку поддержки

Если вы работаете на типовой конфигурации (например, «1С:Бухгалтерия» или «1С:ERP»), заблокируйте возможность её изменения:

  1. В конфигураторе откройте меню Конфигурация — Поддержка — Настройка поддержки.
  2. Для правил распределения установите режим «Изменения не разрешены».

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

Метод Б: Установка пароля на конфигурацию

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

  1. Откройте свойства корневого элемента конфигурации (кликните правой кнопкой по имени конфигурации в самом верху дерева и выберите Свойства).
  2. Найдите пункт Пароль конфигурации.
  3. Задайте сложный пароль, известный только главному архитектору системы.

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

Метод В: Работа строго через Хранилище конфигурации

Организуйте правильный цикл разработки (ALM). Разработчики должны вести деятельность исключительно в своих локальных копиях баз, подключенных к общему Хранилищу конфигурации. Накатывать изменения на рабочую базу должен один ответственный сотрудник (релиз-инженер или ведущий администратор) во время технологического окна, используя файл обновлений (.cf или .cfu), либо выполняя операцию «Обновить из хранилища» строго в запланированное время.

---

Решение 6. Борьба с «залипшим» кэшем после динамического обновления

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

Для борьбы с этим эффектом используем следующие инструменты:

---

Резюме: чек-лист для администратора

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

  1. Проверьте права доступа: снимите галочку «Администрирование» со всех пользовательских ролей.
  2. Настройте ярлыки запуска: добавьте параметр /DisableStartupMessages в общие списки баз .v8i.
  3. Обновите ссылки для веб-клиентов: добавьте параметр ?DisableStartupMessages в URL-адреса.
  4. Заблокируйте конфигурацию: установите пароль на конфигурацию рабочей базы или верните её на строгую поддержку.
  5. Автоматизируйте рутину: настройте скрипт с параметром /RollbackCfg для быстрого отката случайных изменений.

_

← На главную