Как повысить удобство и скорость работы с ролями в конфигураторе 1С:Предприятие

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

На протяжении многих лет работа с ролями в конфигураторе 1С:Предприятие считалась одной из самых трудозатратных и монотонных задач для разработчика. Процесс настройки прав доступа в крупных прикладных решениях, таких как ERP или Комплексная автоматизация, требовал ручной установки тысяч флажков. Однако с выходом обновлений платформы (начиная с версии 8.3.25) подходы к проектированию прав доступа кардинально изменились. Разберем подробнее, какие инструменты теперь доступны разработчику и как их эффективно использовать в повседневной работе.

Проблема классического подхода и долгожданные изменения

Ранее настройка ролей в конфигураторе была сопряжена с рядом ограничений: отсутствие поиска, невозможность массового выделения объектов и низкая производительность интерфейса при работе с большими конфигурациями. Разработчикам приходилось использовать сторонние обработки или переходить в среду EDT (Enterprise Development Tools), чтобы ускорить процесс. Рассмотрим, как новые штатные механизмы конфигуратора решают эти проблемы.

Групповое редактирование прав доступа

Одной из самых востребованных функций стала возможность массового изменения прав. Выясним, как это работает на практике. Теперь в дереве объектов метаданных внутри редактора роли можно выделить сразу несколько элементов, используя стандартные клавиши Shift (для выбора диапазона) или Ctrl (для выбора произвольных объектов).

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

  1. Открываем нужную роль в конфигураторе.
  2. Переходим к списку справочников.
  3. Зажимаем клавишу Shift и выделяем весь список необходимых объектов.
  4. В правой панели прав устанавливаем нужный флажок.

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

Использование поиска и фильтрации в редакторе роли

В современных конфигурациях количество объектов метаданных исчисляется тысячами. Поиск конкретного документа ЗаказПокупателя в огромном списке вручную был крайне неэффективен. Рассмотрим новое решение — строку поиска в верхней части окна редактора роли.

Разберем по шагам, как работает фильтрация:

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

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

Копирование и вставка прав доступа

Часто возникают задачи, когда необходимо настроить права для нового объекта по аналогии с уже существующим. Например, в систему добавлен справочник Номенклатура_Дубликаты, и ему нужны точно такие же права, как у основного справочника Номенклатура.

Посмотрим на алгоритм использования функции копирования прав:

  1. Выбираем объект-донор (с которого копируем права).
  2. Нажимаем правую кнопку мыши и выбираем команду контекстного меню "Копировать права".
  3. Выбираем один или несколько целевых объектов (того же типа).
  4. Через контекстное меню выбираем "Вставить права".

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

Команды для управления колонками прав

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

Проанализируем возможности контекстного меню колонок:

  1. "Установить все флажки в колонке" — позволяет быстро дать права, например, на "Интерактивное удаление" для всех выделенных документов.
  2. "Снять все флажки в колонке" — мгновенное лишение прав на конкретное действие для группы объектов.

Такой подход позволяет настраивать права "в одно касание", что значительно упрощает аудит безопасности конфигурации.

Оптимизация визуализации и производительности

Многие разработчики отмечали, что при открытии редактора ролей в конфигурациях типа 1С:ERP интерфейс "замирал" на несколько секунд или даже минут. В обновленной версии платформы механизмы отрисовки дерева были оптимизированы. Теперь работа с деревом происходит плавно, без фризов.

Также стоит отметить улучшение визуальной индикации наследуемых прав. В 1С существует логическая связь между некоторыми правами. Например, установка права ИнтерактивноеДобавление автоматически влечет за собой включение права Добавление. Теперь эти зависимости отображаются более наглядно, помогая разработчику понять, почему то или иное право стало активным.

Практические примеры реализации

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

Пример получения списка ролей текущего пользователя:


// Получаем список имен ролей пользователя
СписокРолей = ПользователиИнформационнойБазы.ТекущийПользователь().Роли;
Для Каждого Роль Из СписокРолей Цикл
    Сообщить("У пользователя есть роль: " + Роль.Имя);
КонецЦикла;

Если же мы хотим проверить конкретное право в коде, мы используем функцию ПравоДоступа. Это важно учитывать при проектировании логики, зависящей от настроек, выполненных в конфигураторе.


// Проверка права на чтение справочника Номенклатура
Если ПравоДоступа("Чтение", Метаданные.Справочники.Номенклатура) Тогда
    // Логика доступа разрешена
Иначе
    // Логика доступа запрещена
КонецЕсли;

Рекомендации по переходу на новые инструменты

Для того чтобы в полной мере ощутить преимущества новых инструментов, рекомендуется убедиться, что версия платформы, на которой ведется разработка, не ниже 8.3.25. Несмотря на то что в некоторых обсуждениях упоминалась версия 8.5.5, основные и самые стабильные улучшения вошли именно в ветку 8.3.25.

Подведем итоги. Внедрение группового редактирования, поиска и копирования прав в конфигураторе — это не просто косметическое обновление, а серьезный шаг в сторону повышения продуктивности разработчика. Эти изменения позволяют:

Разберем еще один нюанс: работа с табличными частями. Теперь снимать галочки чтения и редактирования в подчиненных реквизитах можно также массово, выделив их в дереве под основным объектом. Это именно то, о чем просили разработчики на протяжении последних двадцати лет.

Таким образом, мы видим, что классический конфигуратор продолжает развиваться, заимствуя лучшие практики из современных сред разработки, что делает процесс сопровождения систем 1С более комфортным и профессиональным.

← На главную