Почему роль из конфигурации не видна в списке прав нового сотрудника в 1С?

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

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

В этой статье мы подробно разберем по шагам, почему возникает эта проблема, проанализируем основные технические причины и рассмотрим проверенные способы их решения — от банальной путаницы в наименованиях до архитектурных особенностей работы Библиотеки стандартных подсистем (БСП).

Решение 1. Разница между Именем и Синонимом роли

Начнем с самой простой и наиболее распространенной причины, с которой часто сталкиваются даже опытные специалисты. Это разница между техническим Именем роли и ее отображаемым Синонимом.

Рассмотрим, как устроены метаданные роли в Конфигураторе. У каждого объекта метаданных есть два ключевых свойства:

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

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

Что нужно сделать для проверки:

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

Решение 2. Обновление идентификаторов объектов метаданных (БСП)

Если мы убедились, что с Синонимом все в порядке, но роль все равно отсутствует в списке прав, дело скорее всего в механизмах Библиотеки стандартных подсистем (БСП). В современных конфигурациях (таких как ERP, УТ, КА, БП, ЗУП) список ролей для настройки прав считывается не напрямую из метаданных «на лету», а берется из специального справочника Идентификаторы объектов метаданных.

Если роль была добавлена в Конфигураторе недавно, этот справочник просто еще не знает о ее существовании. Нам необходимо принудительно обновить данные справочника.

Рассмотрим три способа, как это сделать:

Способ А. Параметр запуска информационной базы
Это самый надежный способ, гарантирующий полное обновление всех вспомогательных данных БСП:

  1. Закроем все активные сеансы пользователей.
  2. Запустим информационную базу в режиме «1С:Предприятие» с дополнительным параметром запуска. Для этого в окне запуска 1С выделим нашу базу, нажмем кнопку Изменить, перейдем на последнюю вкладку и в поле «Дополнительные параметры запуска» вставим строку: /C ЗапуститьОбновлениеИнформационнойБазы
  3. Запустим систему. Программа выполнит все необходимые процедуры обновления, включая синхронизацию справочника идентификаторов с метаданными конфигурации.

Способ Б. Ручное обновление через интерфейс
Если у нас есть права Администратора, мы можем обновить идентификаторы без перезапуска базы:

  1. В режиме «1С:Предприятие» откроем меню Функции для технического специалиста (в старых версиях — «Все функции»).
  2. Найдем в списке справочников Идентификаторы объектов метаданных.
  3. В открывшейся форме найдем кнопку Обновить данные (в некоторых версиях она может находиться в подменю «Еще»). Нажмем ее и дождемся завершения процесса.

Способ В. Программный вызов обновления
Для разработчиков доступен программный способ инициализации обновления метаданных через выполнение кода во внешней обработке:


УстановитьПривилегированныйРежим(Истина);
Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника(Истина, Ложь);

После выполнения этой процедуры новые роли гарантированно появятся в справочнике и станут доступны для выбора в профилях групп доступа.

Решение 3. Настройка отображения по подсистемам в Профилях групп доступа

Иногда роль присутствует в системе, но скрыта из-за настроек интерфейса формы настройки прав. В БСП при редактировании профилей групп доступа роли могут группироваться по подсистемам для более удобной навигации.

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

Как вернуть плоский список всех ролей:

  1. Откроем форму редактирования нужного Профиля групп доступа.
  2. На панели действий формы (или в меню Еще) найдем команду Отображать роли по подсистемам.
  3. Если напротив этого пункта стоит флажок (галочка) — снимем его. Это переключит дерево ролей в режим отображения простым плоским списком, отсортированным по алфавиту (по Синониму). Теперь найти нужную роль будет значительно проще.

Решение 4. Автоматическое исключение ролей у пользователей с Полными правами

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

Выясним причину такого поведения системы. В БСП реализован оптимизационный алгоритм контроля избыточности прав:

Поэтому, если вы проверяете видимость и активность роли на пользователе с административными правами, помните: система намеренно скрывает и убирает лишние роли, так как они дублируют уже имеющиеся полные права.

Решение 5. Очистка кэша платформы

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

Рекомендуем выполнить очистку кэша по следующему алгоритму:

  1. Полностью завершим работу 1С на клиентском компьютере.
  2. Запустим стартер 1С, выберем нужную информационную базу и нажмем кнопку Изменить.
  3. Нажмем Далее и в поле «Дополнительные параметры запуска» пропишем параметр: /ClearCache
  4. Запустим базу. При первом запуске платформа принудительно перечитает актуальную структуру конфигурации с сервера. После успешного входа данный параметр из настроек запуска можно удалить, чтобы не замедлять последующие штатные открытия программы.

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

← На главную