Роли и права доступа в 1С: создание и настройка
Содержание
Роль в 1С — это объект конфигурации, в котором описано, что пользователю можно читать, добавлять, изменять и удалять. Создаются роли в Конфигураторе: ветка дерева Общие → Роли → Добавить. Там же, в редакторе роли, настраиваются права на каждый объект и, при необходимости, ограничение доступа на уровне записей (RLS).
Но в типовых конфигурациях на базе БСП (Бухгалтерия 3.0, ЗУП 3.1, Управление торговлей 11) права конечному пользователю почти никогда не раздают ролями напрямую. Там работает слой профилей групп доступа — он собирается уже в режиме 1С:Предприятие, в разделе Администрирование. Роль в Конфигураторе — это «кирпич», а профиль — готовая стена из таких кирпичей.
Ниже — оба уровня: как собрать роль в Конфигураторе и как выдать права живому пользователю через группы доступа.
Два уровня настройки доступа и где они живут
Прежде чем что-то создавать, важно понять, на каком уровне вы работаете.
- 🧱 Роль — объект конфигурации. Живёт в Конфигураторе, меняется разработчиком. Описывает права на объекты метаданных (справочники, документы, регистры) и глобальные права (запуск клиента, монопольный режим и т. п.).
- 🧩 Профиль группы доступа — объект режима Предприятия (механизм БСП). Объединяет несколько ролей в осмысленный набор: «Бухгалтер», «Кадровик», «Кладовщик».
- 👤 Группа доступа — связывает профиль с конкретными пользователями и задаёт значения доступа (конкретные организации, склады, подразделения).
Правило простое. Типовую конфигурацию , которую вы обновляете, ролями в Конфигураторе не трогают — иначе каждое обновление превратится в разбор конфликтов. Там настраивают профили. Роли в Конфигураторе создают и правят в двух случаях: вы разрабатываете собственную конфигурацию либо выносите доработку в расширение конфигурации (оно появилось в платформе 8.3.6 и обновлениям типовой не мешает).
Общие → Роли.Интерфейс редактора роли в Конфигураторе
Откройте Конфигуратор (платформа 8.3, интерфейс «Такси»). В дереве конфигурации найдите ветку Общие, внутри — Роли. Двойной щелчок по существующей роли открывает редактор прав.
Окно делится на три части:
- Слева — дерево объектов метаданных: корень конфигурации, затем справочники, документы, регистры, обработки и так далее.
- Справа — таблица прав для выделенного слева объекта:
Чтение,Добавление,Изменение,Удаление,Проведение,Просмотр,Редактированиеи другие. Набор прав зависит от типа объекта. - Снизу справа — поле
Ограничения доступа к данным(RLS) для выбранного права.
Под деревом объектов есть флажки, которые экономят массу кликов:
Устанавливать права для новых объектов— роль автоматически получит права на объекты, которые добавят в конфигурацию позже. Для роли «полного доступа» удобно, для узкой роли — опасно.Устанавливать права для реквизитов и табличных частей по умолчанию— право на объект распространяется на его реквизиты.Независимые права подчинённых объектов— тонкая настройка, по умолчанию выключена.
Права на корень конфигурации (самый верхний элемент дерева) — это глобальные права: Администрирование, Монопольный режим, Активные пользователи, Тонкий клиент, Веб-клиент, Сохранение данных пользователя, Интерактивное открытие внешних обработок. Без права на тонкий или веб-клиент пользователь просто не сможет войти в базу привычным способом.
Как добавить новую роль и задать права
Порядок действий для своей конфигурации или расширения:
- В дереве конфигурации щёлкните правой кнопкой по ветке
Роли→Добавить. - В палитре свойств задайте
Имя(латиницей, без пробелов, напримерМенеджерЗаказов) иСиноним(как роль увидит пользователь, например «Менеджер заказов»). - Откройте редактор прав двойным щелчком по новой роли.
- Выделяйте объект слева и отмечайте нужные права справа. Начинайте с минимума:
ЧтениеиПросмотрдля справочников, которые пользователь только смотрит; полный набор — только там, где он реально вводит данные. - Не забудьте права на общие объекты: подсистемы (чтобы разделы были видны в интерфейсе), общие формы, константы.
- Проверьте глобальные права на корне: как минимум право на тип клиента, через который входят пользователи.
- Сохраните конфигурацию (
F7) и обновите конфигурацию базы данных (F7ещё раз или кнопка обновления).
Обновление конфигурации базы данных со структурными изменениями требует монопольного доступа — все активные сеансы придётся завершить. Делайте это в окно, когда в базе никто не работает, и после резервной копии. Само по себе добавление роли без изменения структуры данных монополии не требует, но на практике обновление чаще делают разом.
Чтобы не собирать права с нуля, роль удобно создавать на основе похожей: скопируйте существующую роль (Ctrl+C / Ctrl+V на ветке Роли), переименуйте и уберите лишнее. Для узкой роли это быстрее, чем отмечать сотни флажков вручную.
Отдельный приём для типовой: роль, которой нет в поставке, добавляют в расширение конфигурации. Создаёте расширение (Конфигурация → Расширения конфигурации), добавляете в него роль, прописываете права — и типовая остаётся нетронутой. Затем эту роль подключают к профилю групп доступа (о нём ниже).
Разберём набор прав подробнее. Для документа права делятся на две группы. Первая — доступ к данным: Чтение, Добавление, Изменение, Удаление. Вторая — интерактивные действия, которые пользователь делает мышью: Просмотр, Редактирование, Интерактивное добавление, Проведение, Отмена проведения, Интерактивная пометка удаления. Разделение неочевидно, но важно: без права Чтение пользователь не увидит документ вообще, а без Просмотр — не сможет открыть форму, хотя данные формально доступны программно. На практике для «смотрящего» пользователя ставят Чтение + Просмотр, для оператора — добавляют Добавление, Изменение, Проведение и соответствующие интерактивные права.
Ограничение доступа к данным (RLS)
Права на объект — это «можно ли вообще видеть документы». RLS (Row Level Security, ограничение на уровне записей) отвечает на вопрос тоньше: «какие именно записи можно видеть». Классический пример — менеджер видит только заказы своего склада, а не все заказы в базе.
Настраивается RLS в том же редакторе роли:
- Выделите объект и право (например,
Чтениедокумента «Заказ клиента »). - В нижнем поле
Ограничения доступа к даннымдобавьте строку. - Выберите
Поле(например,Склад) и в колонкеОграничениенапишите условие.
Условие пишется на языке, похожем на язык запросов 1С. Упрощённо: разрешаем запись, если её поле совпадает со значением, доступным текущему пользователю. Чтобы не копировать одинаковый текст в десятки объектов, используют вкладку Шаблоны ограничений — там хранятся именованные заготовки, которые потом подставляют в конкретные права.
В типовых конфигурациях на БСП RLS уже реализован и управляется не текстом условий, а значениями в группах доступа: вы выбираете «виды доступа» (организации, склады, физлица) и перечисляете разрешённые значения. Писать условия вручную там не нужно — достаточно правильно заполнить группу доступа.
RLS заметно нагружает запросы: каждое чтение данных обрастает дополнительными условиями. Если в своей конфигурации доступ достаточно разграничить по ролям без записей — не включайте RLS ради «на всякий случай».
Профили групп доступа: сборка набора ролей
Этот и следующие разделы — уже режим 1С:Предприятие, типовая конфигурация на БСП.
Путь: Администрирование → Настройки пользователей и прав → Профили групп доступа. В типовой поставке профили уже есть: «Администратор», «Бухгалтер», «Кадровик», «Открытие внешних отчётов и обработок» и другие. Их можно использовать как есть.
Чтобы собрать свой профиль:
- Нажмите
Создать. - Задайте наименование профиля.
- На вкладке с разрешёнными действиями (ролями) отметьте роли, которые войдут в профиль. Здесь же появляются роли из подключённых расширений.
- При необходимости настройте
Виды доступа— по каким измерениям профиль будет ограничивать данные (организации, склады, группы номенклатуры). - Запишите профиль.
Типовые профили поставляются как «поставляемые» — их не редактируют напрямую, а при необходимости создают копию (Создать на основании или просто новый профиль с нужным набором ролей). Так изменения не слетят при обновлении.
Назначение прав пользователям информационной базы
Права получает не пользователь напрямую, а пользователь через группу доступа. Путь: Администрирование → Настройки пользователей и прав → Пользователи.
- Откройте карточку пользователя (или создайте нового кнопкой
Создать). - Перейдите по ссылке
Права доступав карточке пользователя. - Отметьте группы доступа, в которые входит пользователь. Каждая группа доступа связана с профилем.
- Если нужной группы доступа ещё нет — создайте её в разделе
Группы доступа, укажите профиль и перечислите разрешённые значения видов доступа (например, конкретные организации). - Запишите изменения.
Один пользователь может входить в несколько групп доступа — тогда его права суммируются. Запретить что-то одной группой, если другая это разрешает, нельзя: в 1С права складываются, а не вычитаются.
Отдельно — назначение ролей в Конфигураторе, минуя БСП. Это нужно для своей конфигурации или когда механизма групп доступа нет. Путь: Администрирование → Пользователи в Конфигураторе, карточка пользователя, вкладка Прочие, список ролей с флажками. В типовой на поддержке так права обычно не выдают — там всё через группы доступа в режиме Предприятия.
| Где настраиваете | Что назначаете | Когда это ваш случай |
|---|---|---|
| Предприятие → Группы доступа | Профиль + значения доступа | Типовая конфигурация на БСП |
| Конфигуратор → Пользователи → Прочие | Роли напрямую | Своя конфигурация, нет БСП |
Проверка и отладка назначенных прав
Назначили права — проверьте их до того, как это сделает пользователь.
Самый надёжный способ — войти в базу под учётной записью проверяемого пользователя (или тестовой записью с тем же набором групп доступа) и пройти его типовые операции: открыть нужные разделы, создать и провести документ , построить отчёт. Если раздел не виден или команда недоступна — не хватает права на подсистему или на объект.
Что помогает в диагностике:
- 📄 В типовых на БСП есть отчёт по правам доступа в разделе
Администрирование → Настройки пользователей и прав— он показывает, какие роли и значения доступа фактически действуют для пользователя. - 🧪 В Конфигураторе можно запустить отладку (
Отладка → Начать отладку) под конкретным пользователем и видеть, на каком именно праве срабатывает отказ. - 🔎 Служебное сообщение «Недостаточно прав на …» прямо называет объект и операцию — по нему сразу понятно, какое право добавить в роль.
Если пользователь жалуется, что «ничего не видит», первым делом смотрите права на подсистемы (разделы) и на тип клиента. Чаще отсутствует не право на документ, а право на сам раздел интерфейса или на запуск нужного клиента.
Типичная ошибка настройки — выдать роль «Полные права» вместо узкого профиля, «чтобы точно работало». Это дыра в безопасности: такой пользователь сможет менять настройки, удалять данные и выгружать базу. Разграничение прав ради того и делается, чтобы каждый видел только своё.