Как настроить права доступа на новый объект в 1С:УНФ, если стандартные роли недоступны для редактирования

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

При доработке типовых конфигураций, таких как 1С:Управление нашей фирмой (УНФ), разработчики часто сталкиваются с ситуацией, когда после добавления нового объекта (например, регистра сведений или обработки) редактирование прав доступа в существующих ролях оказывается невозможным. Поля выбора прав в конфигураторе отображаются серыми, а рядом с ролью стоит значок «замочка». Разберем подробно, почему так происходит, и проанализируем все способы решения этой задачи: от ручного создания ролей до использования механизмов расширений и Библиотеки стандартных подсистем (БСП).

Почему стандартные роли заблокированы

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

Способ 1: Создание новой роли в основной конфигурации

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

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

Однако просто создать роль недостаточно. В современных конфигурациях на базе БСП (как УНФ) права назначаются не напрямую пользователям, а через Профили групп доступа. Нам потребуется создать новый профиль, включить в него нашу роль, а затем создать Группу доступа и включить в нее нужных пользователей. Это обеспечит гибкое управление правами без изменения состава ролей в самом конфигураторе.

Способ 2: Использование расширений конфигурации

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

Разберем по шагам работу с расширением для настройки прав:

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

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

Автоматическое назначение прав и свойство «Устанавливать права для новых объектов»

Рассмотрим интересную ситуацию, когда при добавлении новой обработки права на нее внезапно появляются у всех ролей. Это может вызвать серьезные опасения в безопасности. Разберем причину этого явления. У каждого объекта Роль в 1С есть свойство «Устанавливать права для новых объектов».

Посмотрим, как оно работает:

Особенности работы через Идентификаторы объектов метаданных

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

Если вы добавили регистр, но не можете найти его в списке доступных объектов при настройке прав в режиме «1С:Предприятие», необходимо обновить этот справочник. Это можно сделать несколькими способами:

  1. Запустить систему с параметром командной строки: /C ЗапуститьОбновлениеИнформационнойБазы.
  2. Вызвать программное обновление из консоли кода:

Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанные(Истина);

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

Рекомендации по проверке и отладке

Проанализируем ситуацию: вы настроили роли, создали группы доступа, но пользователь все равно получает ошибку «Нарушение прав доступа». Чтобы понять, через какую именно роль «прилетают» права (или почему они отсутствуют), воспользуемся стандартным отчетом. В разделе Администрирование — Настройки пользователей и прав выберите пункт «Отчет по правам доступа».

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

Таким образом, правильная стратегия работы с правами в 1С:УНФ заключается в создании новых ролей (в основной конфигурации или расширении), их регистрации в справочниках БСП и последующем назначении пользователям через механизмы профилей и групп доступа. Это позволяет сохранить типовую конфигурацию в чистоте и обеспечить надежную работу системы безопасности.

← На главную