Роли и права пользователей 1С 8.3: от конфигуратора до групп доступа
Содержание
Роль в 1С настраивают в конфигураторе: ветка Общие → Роли, затем вкладка прав на объекты и галочки по каждому действию. Но в типовой базе (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) так делать почти никогда не нужно: там пользователю выдают не роль, а группу доступа с профилем, и всё делается в режиме 1С:Предприятие через Администрирование → Настройки пользователей и прав.
Частое заблуждение администратора — что ролью можно что-то запретить. Нельзя. Роль только разрешает, а права всех ролей пользователя складываются. Отсюда и большая часть проблем «настроил запрет, а он не работает ».
Как устроена система прав доступа в 1С
У платформы 1С:Предприятие 8.3 три уровня управления доступом. Их полезно разделить сразу, иначе настройка превращается в перебор галочек.
| Уровень | Что ограничивает | Где настраивается |
|---|---|---|
| Права роли | Действия с объектом целиком: читать, добавлять, изменять, проводить | Конфигуратор, редактор роли |
| Ограничение на уровне записей (RLS) | Какие именно строки видит пользователь: только своя организация, только свои документы | Конфигуратор, условие в правах роли |
| Видимость в интерфейсе | Какие разделы, команды и поля формы показаны | Командный интерфейс, свойства элементов формы |
Ключевые принципы:
- ✅ Права только разрешающие. Запретить что-то можно, лишь убрав это право из всех ролей пользователя.
- ➕ Права ролей объединяются. Если одна роль даёт чтение справочника, а другая — изменение, пользователь сможет изменять.
- 👁 Скрытая команда — не запрет. Убранная из меню кнопка не мешает открыть объект другим путём, например через ссылку или отчёт.
- 🔒 Без ролей нет входа. Пользователь, у которого не отмечена ни одна роль, в базу не попадёт.
Единственное исключение из «только разрешающих» правил — RLS. Условие сужает доступ внутри права, которое роль уже дала. Но и тут работает объединение: если вторая роль даёт то же право без ограничения, ограничение первой теряет смысл.
Создаём новую роль в конфигураторе пошагово
Этот путь нужен для собственной конфигурации или для доработки, которую вы сопровождаете сами.
- Откройте базу в режиме
Конфигуратори откройте конфигурацию (Конфигурация → Открыть конфигурацию). - В дереве раскройте
Общие → Роли. - Правой кнопкой по ветке
Роли→Добавить. - Задайте имя латиницей или кириллицей без пробелов, например
ОператорСклада, и понятный синоним: «Оператор склада». Синоним пользователь увидит в списке ролей. - Откроется редактор роли: слева дерево всех объектов конфигурации, справа список прав для выделенного объекта.
- Отметьте нужные права (подробно — в следующем разделе).
- Сохраните конфигурацию и выполните
Конфигурация → Обновить конфигурацию базы данных(F7). - Назначьте роль пользователю:
Администрирование → Пользователи, карточка пользователя, вкладкаПрочие.
Пользователи увидят новые права после перезапуска сеанса. Обновление структуры базы, если оно потребуется, идёт с монопольным доступом: работающих в базе придётся попросить выйти.
Три флажка внизу редактора роли
Внизу окна роли есть три настройки. От них зависит, как роль поведёт себя после следующих доработок.
| Флажок | Что делает | Рекомендация |
|---|---|---|
| Устанавливать права для новых объектов | Новые объекты конфигурации сразу получат в этой роли все права | Включать только у роли администратора |
| Устанавливать права для реквизитов и табличных частей по умолчанию | Реквизиты наследуют права объекта | Оставить включённым |
| Независимые права подчиненных объектов | Права реквизитов можно задать отдельно от объекта | Включать, если нужно закрыть отдельные поля |
Не включайте «Устанавливать права для новых объектов» у пользовательских ролей. Через полгода разработчик добавит регистр с зарплатами, и он окажется открыт оператору склада.
Настраиваем права на объекты метаданных
Начните с корня дерева — объекта «Конфигурация». Там права уровня всей базы. Минимальный набор для обычного пользователя:
- 🖥
Тонкий клиенти/илиВеб-клиент— без права на тип клиента зайти не получится; - 💾
Сохранение данных пользователя— иначе не будут запоминаться настройки форм и отчётов; - 🖨
Вывод— печать и сохранение в файл; - 📄
Интерактивное открытие внешних обработоки…отчетов— только если пользователь действительно ими пользуется.
Права Администрирование, Администрирование данных, Монопольный режим, Обновление конфигурации базы данных обычным ролям не нужны.
Права на справочники и документы
Права делятся на две группы. «Программные» (Чтение, Добавление, Изменение, Удаление) работают для кода и запросов. «Интерактивные» (Просмотр, Интерактивное добавление, Редактирование, Интерактивное удаление) — для действий пользователя на форме.
Интерактивное право не работает без программного. Просмотр без Чтения не поставить: платформа сама снимет зависимые галочки.
Типовой набор для документа, который пользователь создаёт и проводит:
| Право | Нужно? | Зачем |
|---|---|---|
| Чтение, Просмотр | Да | Видеть список и открывать документ |
| Добавление, Интерактивное добавление | Да | Создавать новые |
| Изменение, Редактирование | Да | Исправлять |
| Проведение, Интерактивное проведение | Да | Проводить |
| Отмена проведения | По ситуации | Распроводить |
| Интерактивная пометка удаления | Да | Помечать ошибочные |
| Интерактивное удаление | Нет | Удаление без пометки, мимо контроля ссылок |
| Удаление | Нет, если удаляет администратор | Окончательное удаление помеченных |
💡 Не забудьте регистры, в которые документ делает движения. Для проведения нужны права на запись в эти регистры. Иначе при проведении пользователь получит Нарушение прав доступа!.
Ограничение доступа к записям (RLS)
Когда оператор должен видеть только свои документы, нужна RLS. Выделите объект, отметьте право Чтение и в нижней части окна в колонке ограничения доступа к данным напишите условие на языке запросов:
ТекущаяТаблица ГДЕ ТекущаяТаблица.Ответственный = &ТекущийПользователь
&ТекущийПользователь — параметр сеанса. Его нужно создать в ветке Общие → Параметры сеанса и заполнить в модуле сеанса, в обработчике УстановкаПараметровСеанса.
RLS накладывается только на права Чтение, Добавление, Изменение, Удаление. В отчётах, где запрос написан без слова РАЗРЕШЕННЫЕ, пользователь получит ошибку доступа вместо урезанной выборки.
Мини-пример: роль «Оператор склада»
Задача: сотрудник оформляет поступления и перемещения, видит остатки, но не видит цены закупки и не трогает справочник номенклатуры.
- 📦 Документы поступления и перемещения — полный набор из таблицы выше, кроме удаления.
- 📚 Справочники «Номенклатура», «Склады», «Контрагенты» — только
ЧтениеиПросмотр. Выбирать в документе можно, создавать и править нельзя. - 📊 Регистры остатков —
Чтениедля отчётов и запись, необходимая для проведения. - 💰 Регистр цен закупки — без прав вовсе. Колонка цены в документе закрывается через независимые права реквизита.
- 🖥 Конфигурация —
Тонкий клиент,Сохранение данных пользователя,Вывод.
Такую роль удобно держать узкой и комбинировать с базовой ролью «Пользователь», где собраны общие права: справочник пользователей , настройки, служебные регистры.
Скрываем лишнее в интерфейсе по ролям
Если у пользователя нет права Просмотр на объект, команда открытия списка из интерфейса пропадает сама. Отдельно настраивать её не нужно.
Ручная настройка видимости нужна, когда право есть, но команда мешает:
- Разделы и команды. Откройте корень конфигурации →
Открыть командный интерфейс конфигурацииили командный интерфейс подсистемы. В таблице команд есть колонки видимости: общая и по каждой роли. Снимите галочку в колонке нужной роли. - Поля и кнопки формы. В редакторе формы у элемента есть свойства
ПросмотриРедактированиес настройкой по ролям. Так можно скрыть, например, поле с закупочной ценой. - Отдельный реквизит целиком. Включите в роли
Независимые права подчиненных объектови снимитеПросмотру реквизита. Это уже настоящее ограничение, а не косметика.
Видимость по ролям в форме — только интерфейс. Данные поля по-прежнему доступны через отчёт или обработку. Конфиденциальное закрывайте правами, а не видимостью.
Роли в типовой конфигурации: профили и группы доступа
В типовых решениях на БСП роли напрямую почти не назначают. Цепочка такая:
Роли → Профиль группы доступа → Группа доступа → Пользователи
Профиль — набор ролей под должность («Бухгалтер», «Кадровик», «Менеджер по продажам»). Группа доступа связывает профиль с конкретными людьми и, если нужно, с ограничениями: какие организации, склады или физлица видит группа.
Как настроить профиль и группу доступа
- Перейдите в
Администрирование → Настройки пользователей и прав. - Откройте
Профили групп доступа. Поставляемые профили отмечены значком, их состав ролей менять нельзя. - Выделите близкий профиль и скопируйте его. В копии отметьте или снимите роли.
- Если нужен доступ только к части данных, в профиле на вкладке видов доступа укажите, какие виды ограничивать (например, «Организации»).
- Откройте
Группы доступа, создайте группу, выберите профиль, добавьте участников. - Если в профиле есть ограничения, заполните в группе значения: какие именно организации разрешены.
Для работы ограничений по организациям и другим видам доступа в Настройках пользователей и прав должен быть включён флажок ограничения доступа на уровне записей.
Включение этого флажка в большой базе запускает заполнение служебных данных доступа. Его лучше делать вечером: до конца обновления пользователи могут работать медленнее.
Если поставляемых ролей не хватает
Не правьте типовые роли в основной конфигурации: это снимет её с поддержки и усложнит каждое обновление. Создайте расширение (Конфигурация → Расширения конфигурации), добавьте в него собственную роль с недостающими правами и включите её в свой профиль.
Проверка роли перед выдачей пользователям
Права, проверенные под администратором, не проверены вовсе: у администратора есть всё. Порядок проверки:
- Тестовый пользователь. Заведите пользователя
Тест_ОператорСкладас одной проверяемой ролью (или одной группой доступа) и войдите под ним в отдельном сеансе. - Сценарий целиком. Пройдите реальный день: создать документ , провести, распечатать, сформировать нужные отчёты. Ошибка часто вылезает не на открытии, а на проведении или в печатной форме.
- Журнал регистрации. Отказы в доступе фиксируются в журнале (событие «Доступ. Отказ в доступе»). Отберите по тестовому пользователю — увидите, на какой объект не хватило прав.
- Сводная таблица ролей. В конфигураторе правой кнопкой по ветке
Роли→Все роли. Откроется матрица «объект × роль»: удобно найти, какая роль даёт лишнее право. - Отчёт о правах в типовой. В карточке пользователя в
Настройках пользователей и правдоступен отчёт о правах доступа: какие права и через какие группы получил сотрудник.
Ошибки, на которых спотыкаются при настройке прав
- 🔁 Пытаются ограничить, добавив роль. Добавленная роль только расширяет доступ. Чтобы забрать право, ищите роль, которая его даёт, и убирайте её у пользователя.
- 🧩 Дали право на документ, забыли про регистры и справочники. Документ открывается, но не проводится. Смотрите, в какие регистры он пишет и какие справочники выбираются в реквизитах.
- 🛠 Выдали «Полные права» «на время». Временное остаётся навсегда. Лучше потратить час на отдельную роль или профиль.
- 🔄 Правят роли в типовой без расширения. При следующем обновлении придётся сравнивать и объединять каждую изменённую роль.
- 🙈 Скрыли кнопку вместо запрета. Пользователь откроет объект из отчёта или по навигационной ссылке.