Многие администраторы и программисты сталкиваются с неприятной ситуацией при переходе на новые конфигурации 1С (например, БГУ редакции 2.0): пользователям назначаются полные права, но спустя некоторое время (на следующий день или после обновления) эти права внезапно пропадают. Разберем подробнее, почему это происходит и как правильно управлять доступом в современных конфигурациях.
Проанализируем механику работы современных баз. Сброс ролей, назначенных вручную в конфигураторе, — это не ошибка программы, а заложенное штатное поведение конфигураций, разработанных на базе Библиотеки стандартных подсистем (БСП). Рассмотрим основные факторы, влияющие на такое поведение:
Пользователи (в режиме Предприятия) происходит регулярно. Любая перезапись пользователя, работа фоновых регламентных заданий или запуск базы с параметром /С ЗапуститьОбновлениеИнформационнойБазы приводят к тому, что платформа переписывает права в конфигураторе на основе настроек из справочника.Выясним, какие шаги необходимо предпринять, чтобы права больше не пропадали. Главное правило для БГУ 2.0 и аналогичных баз: никогда не назначайте роли напрямую в конфигураторе, если у вас нет для этого специфических программных обоснований.
ПрофилиГруппДоступа.Посмотрим на ситуацию, когда вы создаете собственные дополнительные роли в конфигураторе или добавляете их через расширения. Если такие роли слетают, это связано с отсутствием их регистрации в служебных справочниках метаданных.
Чтобы собственные роли работали корректно:
ОбновлениеВспомогательныхДанных. Пока роль не появится в справочнике идентификаторов объектов метаданных, платформа будет её игнорировать и сбрасывать.Для случаев, когда вам жизненно необходимо оставить нетиповую роль, назначенную именно в конфигураторе, разработчиками БСП предусмотрен программный обход. Разберем этот механизм.
В общем модуле УправлениеДоступомСлужебный существует процедура ОбновитьРолиПользователей. В ней используется специальная переменная (соответствие) ДополнительныеРолиАдминистратора. Если программно добавить в это соответствие имя вашей нетиповой роли, типовой механизм синхронизации БСП перестанет её затирать при обновлениях и перезаписях справочника.
Совет: Если вы не уверены, в какой именно момент пропадают роли, отфильтруйте Журнал регистрации по событиям, связанным с пользователями или обновлением прав доступа. Это поможет поймать фоновое задание или действие, которое инициирует сброс, и подтвердить проблему с БСП.