Роли и права доступа в 1С 8.3: где смотреть и как проверить
Содержание
Роль в 1С нельзя увидеть в одном окне: права пользователя складываются из нескольких ролей, а сами роли задаются в двух разных местах. Чтобы посмотреть роль конкретного сотрудника в 1С 8.3, откройте его карточку в режиме «1С:Предприятие»: Администрирование → Настройки пользователей и прав → Пользователи, выделите нужную строку и нажмите Права доступа. В форме видно, в какие группы доступа входит пользователь, а каждая группа — это готовый набор ролей.
Полный состав самой роли — что именно она разрешает читать, добавлять, изменять — виден только в Конфигураторе. Поэтому для ответа сразу на два вопроса, «какая роль у пользователя» и «что эта роль даёт», нужны оба инструмента: режим Предприятия показывает назначение, Конфигуратор — содержание.
Разберём оба способа, а также как собрать эффективные права пользователя и что делать, когда программа пишет «недостаточно прав».
Чем роль отличается от группы доступа
Роль — это объект конфигурации. Она описывает, к каким справочникам, документам, отчётам и регистрам у пользователя есть доступ и на каком уровне: чтение, добавление, изменение, удаление. Создаёт и правит роли только разработчик в Конфигураторе.
Напрямую пользователю роли в типовых конфигурациях (БП 3.0, ЗУП 3.1, УТ 11) не назначают. Между ролью и пользователем стоят два промежуточных звена:
- 🔹 Профиль группы доступа — именованный набор ролей (например, «Бухгалтер», «Кадровик», «Только просмотр»).
- 🔹 Группа доступа — связывает профиль с конкретными пользователями и, при необходимости, с видами доступа: ограничениями по организациям, складам, подразделениям.
Итоговая цепочка такая: пользователь → группа доступа → профиль → роли. Когда спрашивают «какая роль у бухгалтера», на практике отвечают названием профиля, потому что именно профиль администратор видит и назначает в режиме Предприятия.
В профилях типовых конфигураций помимо прикладных ролей (по разделам учёта) встречаются служебные — например, роль администратора системы и роль с полными правами. Именно их наличие в группе даёт пользователю доступ «ко всему», поэтому при разборе прав такие профили проверяют первыми: часто лишний доступ приходит не от прикладной роли, а от служебной, оставшейся «на всякий случай».
В самописных и старых конфигурациях без Библиотеки стандартных подсистем роли назначают пользователю напрямую в Конфигураторе — списком на отдельной вкладке карточки пользователя. В типовых конфигурациях так делать не нужно: там работают профили.
Как посмотреть права пользователя в режиме Предприятия
Это основной способ для администратора и бухгалтера — Конфигуратор для него не нужен.
- Откройте
Администрирование → Настройки пользователей и прав → Пользователи. - Выделите пользователя и нажмите в командной панели
Права доступа. - Откроется форма со списком групп доступа. Отмеченные флажками группы и есть права этого пользователя.
- Чтобы увидеть роли внутри группы, перейдите
Администрирование → Настройки пользователей и прав → Профили групп доступа, откройте нужный профиль и вкладкуРазрешённые действия (роли)— там перечислены все роли профиля.
На вкладке Пользователи в самой группе доступа видно, кто ещё входит в ту же группу. Это удобно, когда нужно сравнить права двух сотрудников: часто проблема в том, что у одного группа есть, а у другого — нет. Откройте одну и ту же группу и сверьте списки — так быстрее, чем сравнивать карточки по очереди.
Заодно в карточке пользователя проверьте флажок Вход в программу разрешён. Если он снят, пользователь не войдёт в базу вообще, независимо от назначенных ролей, — и это не проблема прав, а именно отключённая учётная запись.
Если у пользователя отмечена группа с ролью «Полные права» или «Администратор системы», остальные ограничения не работают — он видит и может всё. Проверяйте в первую очередь именно такие группы.
Для внешних пользователей (например, клиентов в веб-кабинете) настройки лежат в отдельном разделе — Настройки пользователей и прав, пункт для внешних пользователей, — но логика та же: группа доступа → профиль → роли.
Как открыть роль в Конфигураторе и прочитать таблицу прав
Когда нужно понять, что конкретно разрешает роль, открывают Конфигуратор. Для этого нужны права администратора на базу.
- Запустите базу в режиме
Конфигуратор. - В дереве конфигурации раскройте ветку
Общие → Роли. - Двойной клик по роли открывает окно редактора прав.
Слева в окне — дерево объектов метаданных (справочники, документы, регистры, отчёты), сверху — список возможных прав. Флажок на пересечении строки и колонки означает, что действие разрешено. Вот основные права, которые чаще всего смотрят:
| Право | Что разрешает |
|---|---|
| Чтение | Получать данные объекта программно |
| Просмотр | Видеть данные в формах интерфейса |
| Добавление | Создавать новые элементы и документы |
| Изменение | Редактировать уже существующие данные |
| Удаление | Физически удалять данные из базы |
| Проведение | Проводить документы (только для документов) |
| Редактирование | Интерактивно менять данные в открытой форме |
Отдельно стоит пара «обычных» и «интерактивных» прав. Право Удаление позволяет удалять данные
программно, а Интерактивное удаление — вручную из формы. Если у роли есть Удаление, но нет интерактивного, пользователь сможет только помечать объекты на удаление, но не удалять их напрямую. Та же логика у добавления и проведения: интерактивные права отвечают именно за действия руками в интерфейсе.
Внизу окна прав есть блок Ограничение доступа к данным — это RLS (ограничение на уровне записей). Через него роль сужают до отдельных строк: например, пользователь видит документы только своей организации, даже если право «Просмотр» на документ стоит. Поэтому формально право может быть, а данные пользователь всё равно не увидит — отсекает RLS.
Рядом есть вкладка Шаблоны ограничений — туда выносят готовые условия RLS, чтобы не дублировать их в каждом объекте. Если видите, что право есть, а доступа нет, смотреть надо именно сюда и в виды доступа группы.
После изменения роли в Конфигураторе выполните Конфигурация → Обновить конфигурацию базы данных (клавиша F7). Пока конфигурация не обновлена, правки прав не действуют.
Как проверить эффективные права пользователя
Главное правило: права ролей суммируются по логике ИЛИ — если хотя бы одна из назначенных ролей разрешает действие, оно пользователю доступно. Отнять право, добавив вторую роль, нельзя.
Отсюда следствие: эффективные права пользователя — это объединение всех ролей из всех его групп доступа. Если бухгалтеру по ошибке дали ещё и группу кладовщика, он получит сумму прав обеих, а не что-то среднее.
Разберём на примере. Пользователь входит в две группы: «Бухгалтер» (роль разрешает проводить документы поступления) и «Только просмотр» (роль разрешает лишь чтение). Можно подумать, что вторая группа ограничит первую. На деле пользователь сможет и просматривать, и проводить — права сложились. Чтобы запретить проведение, группу «Бухгалтер» нужно снять, а не добавлять ограничивающую.
Чтобы собрать полную картину по одному человеку, идут по трём точкам:
- через карточку пользователя (
Права доступа) смотрят, в какие группы он входит; - в
Профилях групп доступасмотрят, какие роли внутри каждой группы; - в
Группах доступана вкладке видов доступа смотрят ограничения — по каким организациям и складам роль реально работает.
Почему программа пишет «недостаточно прав»
Самые частые сообщения — «Недостаточно прав для выполнения операции» и «Нарушение прав доступа». Оба означают, что текущему пользователю не хватает права на объект или конкретную запись. Разобраться помогает журнал регистрации.
- Войдите в базу под администратором.
- Откройте
Администрирование → Обслуживание → Журнал регистрации. - Поставьте отбор по имени пользователя и по времени, когда возникла ошибка.
- Найдите события об отказе в доступе — в них указано, к какому объекту метаданных не хватило права.
- Дальше ищите, какая роль должна давать это право, и в каком профиле она лежит.
Журнал полезен тем, что показывает причину точечно: вы не гадаете, какой роли не хватает, а видите конкретный объект. После этого остаётся добавить пользователя в нужную группу доступа.
Если ошибка повторяется у нескольких сотрудников одного отдела, скорее всего не хватает одной роли в их общем профиле — исправление в профиле закроет вопрос сразу для всех. А точечная проблема у одного человека почти всегда решается его группой доступа, а не правкой ролей в Конфигураторе.
Роли в файловой и клиент-серверной базе
Сам механизм ролей в обоих вариантах одинаковый: роли и права хранятся в конфигурации базы и работают идентично. Разница — в администрировании: как увидеть, кто сейчас в базе, и как освободить её, если нужно менять конфигурацию.
| Задача | Файловая база | Клиент-серверная база |
|---|---|---|
| Где хранятся роли | В конфигурации базы | В конфигурации базы (так же) |
| Кто сейчас работает | Список активных пользователей в самой программе | Консоль администрирования серверов или команда rac session list |
| Освободить базу | Все пользователи должны выйти | Завершение сеансов через консоль кластера |
Для клиент-серверной базы список сеансов и их завершение доступны через консоль администрирования или утилиту rac. Полный набор команд и параметров смотрите в справке rac help; для начала хватает rac cluster list (список кластеров) и rac session list (сеансы).
Прежде чем завершать чужие сеансы или ставить блокировку соединений на сервере, предупредите пользователей: несохранённые данные в открытых формах пропадут. Такие операции делают в нерабочее окно, а не посреди дня.
Частые ошибки при настройке ролей
- 🔸 Роли назначены напрямую в Конфигураторе в типовой конфигурации. Это обходит механизм групп доступа и мешается при обновлениях. В типовых базах назначайте права только через профили.
- 🔸 Всем выдали «Полные права», чтобы «не разбираться». Защита при этом исчезает полностью, а в журнале невозможно понять, кто за что отвечал.
- 🔸 Ждут, что вторая роль отнимет лишнее право. Роли только добавляют доступ. Чтобы ограничить пользователя, роль убирают или настраивают RLS, а не добавляют ещё одну.
- 🔸 Изменили роль в Конфигураторе и забыли обновить конфигурацию базы данных. Правки не вступают в силу, и администратор долго ищет несуществующую проблему.
- 🔸 Перепутали отсутствие права и выключенный функционал. Если раздел скрыт, сначала проверьте функциональные опции в настройках программы, и только потом роли.
Перед массовой раздачей или пересмотром прав сделайте резервную копию базы: откатывать разграничение доступа вручную — это часы работы.
Частые вопросы
Можно ли посмотреть все роли пользователя в одном отчёте?
Права доступа в карточке пользователя: она показывает группы доступа, а состав ролей каждой группы смотрят в профиле.Как узнать роль пользователя без Конфигуратора?
Администрирование → Настройки пользователей и прав. Карточка показывает группы, профиль группы — список ролей. А вот содержание прав внутри самой роли без Конфигуратора не увидеть.