Как выдать пользователю ровно те права, которые ему нужны: роли, профили и ограничения по записям
Содержание
В типовых конфигурациях 1С 8.3 (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) роли пользователям вручную не назначают. Права доступа
настраивают в режиме Предприятия: Администрирование → Настройки пользователей и прав → Профили групп доступа, затем пользователя включают в группу доступа с нужным профилем. Сами роли создают и редактируют в Конфигураторе, а для типовой конфигурации — в расширении, чтобы не снимать её с поддержки.
Роль в 1С — это набор разрешений: что пользователь может читать, менять, проводить и удалять, какими клиентами запускать базу. Ниже порядок, который работает в любой конфигурации на Библиотеке стандартных подсистем: от понимания модели прав к настройке профиля, ограничению по организациям и проверке результата.
Как устроены роли и права доступа в 1С
Модель прав в 1С 8.3 держится на трёх правилах. Их стоит понять до первой настройки, иначе половина действий будет на ощупь.
- ➕ Права только складываются. Запрещающих прав нет. Если у пользователя две роли и одна разрешает удалять документы, он сможет удалять. Убрать право можно, лишь убрав роль, которая его даёт.
- 🧩 Роль описывает права на объекты метаданных. Справочник, документ, регистр, отчёт, обработка — для каждого в роли отмечены отдельные права.
- 🔁 Роли применяются при входе. Изменили профиль или группу — пользователю нужно перезапустить сеанс. Работающий сеанс продолжит жить со старыми правами.
Какие права есть у объектов
У справочников и документов права делятся на базовые и интерактивные. Базовые действуют для любого кода, интерактивные — только для действий пользователя в форме.
| Право | Что разрешает | Комментарий |
|---|---|---|
| Чтение | Получать данные объекта | Без него объект не виден даже в отчётах |
| Добавление, Изменение, Удаление | Записывать и удалять программно | Нужны для обработок и обменов |
| Просмотр | Открывать список и форму | Интерактивное, зависит от «Чтения» |
| Интерактивное добавление, Редактирование | Создавать и править в форме | Зависят от базовых прав |
| Интерактивная пометка удаления | Ставить пометку удаления | Отдельно от удаления |
| Проведение, Отмена проведения | Для документов | Есть базовые и интерактивные варианты |
Кроме прав на объекты, у роли есть права на саму конфигурацию. Это корневой узел дерева роли: Администрирование, Монопольный режим, Активные пользователи, Журнал регистрации, запуск тонкого, толстого и веб-клиента, Внешнее соединение, интерактивное открытие внешних обработок и отчётов. Без права на запуск хотя бы одного клиента пользователь в базу не войдёт.
Роль, профиль и группа доступа
В конфигурациях на БСП над ролями построены ещё два уровня:
| Уровень | Где живёт | Кто настраивает |
|---|---|---|
| Роль | Конфигуратор или расширение | Программист |
| Профиль группы доступа | Справочник в Предприятии | Администратор базы |
| Группа доступа | Справочник в Предприятии | Администратор базы |
Профиль — это набор ролей и список видов доступа (например, «Организации»). Группа доступа — это профиль плюс конкретные участники и конкретные значения ограничений. Пользователь получает объединение ролей всех групп, в которые входит.
Создание и редактирование ролей в Конфигураторе
Свою роль создают, когда типовых не хватает: доработали конфигурацию, добавили справочник или нужно дать доступ к внешней обработке.
Создание роли в своей или несопровождаемой конфигурации
- Откройте базу в Конфигураторе.
- В дереве конфигурации раскройте
Общие → Роли. - Нажмите «Добавить», задайте имя латиницей или кириллицей без пробелов, например
ЧтениеСкладскихОстатков. - В открывшемся окне прав выберите объект слева и отметьте права справа.
- Сохраните конфигурацию и выполните
Конфигурация → Обновить конфигурацию базы данных(F7).
В нижней части окна роли есть три флага:
- ⚙️ Устанавливать права для новых объектов. Новые объекты конфигурации будут сразу получать все права в этой роли. Для узких ролей флаг снимают, иначе после доработки роль внезапно станет шире.
- 📎 Устанавливать права для реквизитов и табличных частей по умолчанию. Удобно оставить включённым, чтобы не отмечать каждый реквизит.
- 🔗 Независимые права подчинённых объектов. Нужен, если хотите давать права на реквизиты отдельно от объекта.
Права зависят друг от друга. Нельзя дать «Изменение» без «Чтения»: Конфигуратор сам проставит родительское право. Снимаете «Чтение» — снимутся и зависимые.
Роль для типовой конфигурации — только через расширение
Правка ролей прямо в типовой Бухгалтерии или ЗУП требует снять конфигурацию с поддержки или включить возможность изменения. Каждое следующее обновление тогда превращается в сравнение и объединение.
Правильный путь — расширение конфигурации :
- В Конфигураторе откройте
Конфигурация → Расширения конфигурации. - Добавьте новое расширение, откройте его дерево.
- В ветке
Общие → Ролисоздайте роль. Объекты основной конфигурации, на которые нужны права, сначала заимствуйте в расширение. - Отметьте права и обновите расширение в базе.
После этого роль из расширения можно добавить в профиль группы доступа в режиме Предприятия. Обновления типовой конфигурации её не затрагивают.
Если нужно лишь открыть пользователю одну внешнюю обработку, свою роль писать необязательно. Достаточно дать профилю роль, которая содержит право интерактивного открытия внешних обработок, и подключить обработку через справочник дополнительных обработок.
Чего не делать с ролями
- 🚫 Не выдавайте обычным пользователям роль
ПолныеПраваилиАдминистраторСистемы. Они снимают все ограничения, включая ограничения по записям. - 🚫 Не правьте роли в Конфигураторе у пользователей, если в базе работает БСП. При следующей записи пользователя в Предприятии роли перезапишутся по его группам доступа.
Назначение прав через профили и группы доступа
Это основная работа администратора типовой базы. Конфигуратор здесь не нужен.
Шаг 1. Включите нужные настройки
Откройте Администрирование → Настройки пользователей и прав. Проверьте, что включён флаг использования групп доступа. Если планируете делить доступ по организациям или складам, здесь же включается ограничение доступа на уровне записей (об этом ниже).
Шаг 2. Подберите или создайте профиль
- Перейдите в
Профили групп доступа. - Посмотрите поставляемые профили: «Бухгалтер», «Главный бухгалтер», «Кадровик», «Расчетчик» и другие — набор зависит от конфигурации.
- Если поставляемый подходит не полностью, не меняйте его, а скопируйте. Состав ролей поставляемого профиля заблокирован, а при обновлении он будет восстановлен.
- В копии откройте вкладку ролей, отметьте нужные. Включите показ только выбранных ролей, чтобы видеть итоговый набор.
- На вкладке видов доступа задайте, какие ограничения будут в профиле: например, «Организации — Все запрещены» с уточнением значений в группе.
Шаг 3. Создайте группу доступа
- Откройте
Администрирование → Настройки пользователей и прав → Группы доступа. - Создайте группу, выберите профиль.
- На вкладке участников добавьте пользователей.
- Если в профиле есть виды доступа с настройкой в группе — укажите значения. Например, разрешённые организации.
- Запишите группу.
Шаг 4. Проверьте карточку пользователя
В Администрирование → Настройки пользователей и прав → Пользователи откройте пользователя. В карточке должен стоять флаг входа в программу, указаны способ аутентификации и пароль. Через команду просмотра прав в карточке видно, в какие группы он входит.
Пользователь перезаходит в базу — права начинают действовать.
Ограничение доступа на уровне записей (RLS)
Роль отвечает на вопрос «к какому объекту есть доступ». RLS отвечает на вопрос «к каким строкам этого объекта». Типовой пример: бухгалтер видит документы только своей организации из трёх, кладовщик — только свой склад.
Как включить
Администрирование → Настройки пользователей и прав.- Включите флаг ограничения доступа на уровне записей.
- В профиле на вкладке видов доступа выберите вид, например «Организации».
- Задайте режим: «Все запрещены» с разрешёнными значениями или «Все разрешены» с исключениями.
- В группе доступа укажите конкретные значения.
После включения программа запускает фоновое обновление служебных данных доступа. На большой базе оно может идти долго — до его завершения часть пользователей увидит неполные списки.
Что важно знать про RLS
| Особенность | Что это значит на практике |
|---|---|
| Группы складываются | Состоит в двух группах с разными организациями — видит обе |
| Влияет на скорость | Каждый запрос к данным получает дополнительное условие |
| Не действует на администратора | Роль полных прав игнорирует ограничения |
| Нужна для каждого вида отдельно | Ограничили организации — склады остаются открытыми |
В новых редакциях БСП работает универсальное ограничение доступа: условия задаются в модулях менеджеров объектов, а не шаблонами в тексте роли. Для администратора это прозрачно, разница видна программисту, который дорабатывает конфигурацию.
RLS в 1С не прячет записи «без шума». Если пользователь откроет отчёт, где есть запрещённые ему данные, отчёт может упасть с ошибкой доступа, а не тихо пропустить строки. Это зависит от того, как написан запрос в отчёте.
Как проверить, какие права у пользователя
Ошибка «нет прав» почти всегда разбирается за пять минут, если смотреть в правильном месте.
Отчёт по правам в Предприятии
В карточке пользователя есть команда открытия отчёта о его правах. Отчёт показывает:
- 📋 группы доступа и профили пользователя;
- 🔑 итоговые роли;
- 📂 права на каждый объект: чтение, изменение, добавление, интерактивные действия;
- 🔒 ограничения по видам доступа.
Отчёт можно открыть и в разрезе объекта: кто имеет доступ к конкретному справочнику или документу. Это удобно при аудите, когда нужно ответить «кто может удалять платёжки».
Проверка в Конфигураторе
Администрирование → Пользователи— список пользователей базы с их ролями. Здесь видно фактический результат работы групп доступа.- В дереве конфигурации откройте роль и найдите объект — видно, какие права роль даёт.
- Если в окне роли включить показ только объектов с правами, проще проверить, не шире ли роль, чем нужно.
Проверка под пользователем
Самый честный способ — войти под тестовой учётной записью с тем же набором групп. Так видно и меню, и списки, и поведение отчётов с RLS.
Заведите отдельного пользователя «Тест права» и включайте его в те же группы, что и проблемного сотрудника. Пароль сотрудника тогда не нужен, а результат тот же.
Ошибки доступа: симптом, причина, решение
Тексты ошибок платформы зависят от действия, но смысл один: роли не дают нужного права или запись отсечена ограничением.
Ошибка входа: нет прав на запуск
Если пользователь не может войти вообще, у его ролей нет права на запуск того клиента, которым он заходит. Например, роли разрешают только тонкий клиент, а ярлык открывает веб-клиент. В БСП такое бывает, когда пользователь не состоит ни в одной группе доступа: ролей у него нет совсем.
Проверьте в Конфигураторе через Администрирование → Пользователи, есть ли у учётной записи хотя бы одна роль.