Настройка прав доступа в современных конфигурациях 1С на базе управляемых форм, таких как Управление торговлей 11.1, ERP или Комплексная автоматизация, часто превращается в настоящий квест. Одной из самых распространенных проблем является ситуация, когда пользователю назначаются роли на чтение объектов, но при входе в программу он видит «пустой» интерфейс: ни заказов, ни продаж, ни складских документов в панели навигации нет. Разберем по шагам, как решить эту задачу и почему стандартного «Чтения» документов часто бывает недостаточно.
В первую очередь нам необходимо понять, как 1С определяет, что именно показывать пользователю в главном меню. Видимость элементов интерфейса жестко завязана на правах просмотра подсистем. Проанализируем типичную ошибку: администратор дает права на документ ЗаказКлиента, но забывает про вышестоящие уровни.
Для того чтобы пункт меню появился в интерфейсе, у пользователя должно быть право «Просмотр» на всю цепочку подсистем, в которые включен объект. Если документ находится в подсистеме «Продажи», которая, в свою очередь, является дочерней для подсистемы «УправлениеТорговлей», отсутствие прав на любую из них приведет к скрытию всей ветки меню. Рассмотрим действия в конфигураторе:
Одной из ключевых особенностей 1С:УТ 11 является использование команд для открытия списков. В отличие от старых версий 1С, где ссылка в меню вела непосредственно на форму списка объекта, здесь за это часто отвечает отдельный объект метаданных — команда. Выясним, почему это важно:
Если у роли есть право на «Чтение» и «Просмотр» самого документа, но нет права на команду (например, Команда.ЗаказыКлиентов), ссылка в панели навигации не появится. Кроме того, многие документы в УТ 11 сгруппированы в журналы. Например, вместо прямой ссылки на реализации товаров используется «Журнал документов продажи».
Посмотрим на пример из практики: чтобы пользователь увидел список продаж, ему необходимо добавить роль, содержащую право «Использование обработки ЖурналДокументовПродажи». Без этого, даже имея полные права на чтение документов реализации, пользователь не увидит точку входа в этот список через интерфейс.
Проанализируем ситуацию, когда все права вроде бы даны, но разделы всё равно скрыты. Здесь в игру вступают функциональные опции (ФО). Этот механизм управляет видимостью интерфейса в зависимости от настроек программы. Если роль пользователя не имеет права на чтение констант или параметров сеанса, которые хранят значения этих опций, система может решить, что данный функционал в принципе выключен для текущего сеанса.
Для корректной работы профиля «Только просмотр» обязательно добавьте роли, содержащие «Базовые права». В этих ролях обычно настроены права на просмотр необходимых параметров, без которых интерфейс «схлопывается».
Если стоит задача разрешить просмотр документов только по одной конкретной организации, используется механизм RLS (Record Level Security). Однако его включение накладывает дополнительные требования к настройке:
Заполнение данных для ограничения доступа. Без этого таблицы не обновятся, и ограничения будут работать по старым (или пустым) данным.Чтобы быстро локализовать проблему — права это на объекты или настройки интерфейса — воспользуемся методом проверки через меню «Все функции» (или «Функции для технического специалиста» в новых версиях). Если через это меню пользователь может открыть список документов и видит в нем записи, значит:
Вместо того чтобы собирать профиль «Только просмотр» с нуля, перебирая сотни ролей, разберем более эффективный алгоритм «от обратного»:
Рассмотрим пошагово:
Для документов заказов клиентов часто критически важно наличие прав на регистры накопления. Выясним причину: форма списка может использовать данные регистров для отображения состояний оплаты или отгрузки. Если нет прав на РегистрНакопления.ЗаказыКлиентов (хотя бы на чтение), список может открываться пустым или выдавать ошибку доступа.
Иногда, после всех манипуляций с ролями, изменения не вступают в силу из-за кэширования метаданных на стороне клиента. Выполним следующие действия:
Таким образом, полноценная роль «Только просмотр» в УТ 11.1 — это не просто набор прав «Чтение» на документы. Это совокупность прав на подсистемы, команды, журналы документов, базовые константы и правильно работающие фоновые задания по обновлению ключей доступа RLS.