Разберем распространенную задачу при настройке прав доступа в типовых конфигурациях 1С (например, 1С:Управление торговлей 11 на платформе управляемого приложения). Часто возникает ситуация, когда пользователю необходимо дать права Чтение и Просмотр на справочник (например, Номенклатура), чтобы он мог выбирать элементы в документах и видеть их реквизиты. Однако сам справочник требуется скрыть из панели навигации и раздела командного интерфейса, чтобы пользователь не открывал его напрямую из главного меню.
Даже если в Конфигураторе для конкретной роли отключить видимость команды подсистемы, элемент все равно может продолжать отображаться в режиме 1С:Предприятие. Проанализируем причину такого поведения системы и рассмотрим проверенные варианты решения данной задачи.
Выясним причину, почему снять галочку видимости в командном интерфейсе подсистемы бывает недостаточно:
Использовать стандартные команды. Платформа автоматически генерирует стандартную команду открытия списка и добавляет ее во все подсистемы, где указан данный объект.Это наиболее надежный и рекомендованный разработчиками подход, когда требуется разделение доступа к интерфейсу и к самим данным.
Рассмотрим порядок действий по шагам:
Номенклатура.Использовать стандартные команды и установим его в значение Ложь. После этого платформа прекратит автогенерацию стандартных команд открытия формы списка и формы выбора в подсистемах.ОткрытьСписокНоменклатуры).
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ОткрытьФорму("Справочник.Номенклатура.ФормаСписка");
КонецПроцедуры
Использование только тем ролям, которым действительно нужно видеть справочник в меню подсистемы. В роли с ограниченным доступом право на команду давать не будем, при этом права Чтение и Просмотр на сам справочник оставим включенными.Если справочник вообще не должен отображаться в конкретном разделе (например, в подсистеме Продажи), изучим альтернативный вариант без отключения стандартных команд.
После внесения изменений в Конфигураторе настройки интерфейса у существующих пользователей могут не обновиться автоматически из-за сохраненных настроек формы.
Проанализируем, как сбросить настройки пользовательского интерфейса: