Как упростить настройку новых ролей в 1С:УПП и избежать ручного перебора объектов?

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

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

Использование комплекса «Инструменты разработчика»

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

Для нашей задачи наиболее полезен модуль «Редактор прав доступа». Рассмотрим его преимущества:

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

Портативный запуск инструментов без изменения конфигурации

Часто возникает вопрос: нужно ли встраивать такие инструменты в саму базу УПП? На самом деле, в этом нет необходимости. Разберем по шагам, как запустить инструменты в портативном режиме:

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

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

Копирование типовых ролей и метод исключения

Если задача стоит создать роль, которая очень похожа на существующую, проанализируем метод «от обратного». Вместо того чтобы создавать пустую роль и добавлять в нее объекты, выполним следующие действия:

  1. Копируем наиболее подходящую типовую роль (например, «Кладовщик»).
  2. Используем отчет по правам доступа (внешний или встроенный), чтобы увидеть список отличий от техзадания.
  3. Массово снимаем лишние права.

Важный момент: В УПП права на объекты часто связаны. Например, если вы даете право на проведение документа, обязательно нужно дать права на чтение и запись в соответствующие регистры накопления и бухгалтерии, иначе пользователь получит ошибку прав доступа при попытке проведения.

Работа с шаблонами RLS (Record Level Security)

Самая большая сложность в УПП — это не просто «галочки» на объектах, а ограничения на уровне записей. При создании новой роли вручную легко забыть про RLS. Если не настроить ограничения по Организациям или Складам, пользователь либо увидит все данные, либо (что чаще в УПП) система будет выдавать ошибку «У пользователя недостаточно прав для исполнения операции над базой данных».

Посмотрим на пример того, как правильно переносить RLS:

  1. Откроем типовую роль в конфигураторе.
  2. Перейдем на закладку «Ограничения доступа» для нужного документа.
  3. Скопируем текст запроса из шаблона (например, #ОрганизацияВШапке("Организация")).
  4. Вставим этот текст в новую роль для тех же объектов.

Без использования шаблонов RLS новая роль в 90% случаев будет работать некорректно в многофирменном учете.

Автоматизация через выгрузку конфигурации в XML

Для продвинутых разработчиков существует способ массового редактирования ролей через XML-файлы. Выясним, как это работает:

  1. Выгружаем конфигурацию в файлы через меню «Конфигурация» — «Выгрузить конфигурацию в файлы...».
  2. Находим XML-файл нашей новой роли в каталоге выгрузки.
  3. Используем текстовый редактор с поддержкой регулярных выражений (например, Notepad++).
  4. Массово заменяем блоки прав. Например, если нам нужно дать Read и View на все справочники, это можно сделать автозаменой текста в XML.
  5. Загружаем изменения обратно в конфигурацию.

Этот метод требует осторожности, но он в разы быстрее, чем работа мышкой в интерфейсе 1С.

Использование профилей полномочий в режиме Предприятие

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

Вместо создания одной роли «БухгалтерМатериалист» можно:

  1. Создать новый Профиль полномочий.
  2. Включить в него комбинацию стандартных ролей (например, «Бухгалтер» + «Кладовщик» + «МенеджерЗакупок»).
  3. Если какая-то роль дает лишние права, иногда проще создать маленькую «микро-роль», которая дополняет существующие, чем дублировать огромный функционал в новой глобальной роли.

Как быстро найти связи объектов?

Чтобы понять, к каким еще таблицам (регистрам, справочникам) нужно дать доступ для корректной работы документа, воспользуемся консолью запросов или инструментом «Анализ движений документа». Если документ ПоступлениеТоваровУслуг делает движения по регистру Закупки, то в роли «БухгалтерМатериалист» обязательно должны быть права на этот регистр. Использование отчетов по метаданным позволяет получить список всех связанных регистров за считанные секунды.

Резюмируем: Для эффективной работы с ролями в УПП забудьте о ручном проставлении галочек. Используйте портативные «Инструменты разработчика» для массового редактирования, копируйте шаблоны RLS из типовых ролей и рассматривайте возможность комбинирования прав через Профили полномочий в пользовательском режиме.

← На главную