К статье
Практический материал

Администрирование · 11 мин

Что такое роль в 1С и как с ней работать

Роль в 1С — это набор прав доступа к объектам конфигурации. Разбираем, как работают роли, как назначать их пользователям, проверять результат и избегать ошибок.

Роль в 1С — это объект конфигурации, который определяет, какие действия пользователь может выполнять с данными: читать, добавлять, изменять, удалять документы, справочники, отчёты и другие объекты. Без ролей платформа не даст пользователю ни одного права: даже административный вход в базу требует, чтобы учётной записи была назначена хотя бы одна роль, допускающая работу.

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

В типовых конфигурациях («Бухгалтерия предприятия», «Управление торговлей», «Зарплата и управление персоналом») уже есть набор предопределённых ролей, покрывающий типовые должности. Понимание того, как они устроены, нужно и администратору, который раздаёт доступ, и разработчику, который дорабатывает конфигурацию.

Как устроена роль: права на объекты конфигурации

Каждая роль содержит таблицу прав, где строки — объекты конфигурации (справочники, документы, регистры, отчёты, обработки), а столбцы — виды доступа. Основные виды прав: чтение, добавление, изменение, удаление, использование (для отчётов и обработок), просмотр и интерактивные операции вроде интерактивного удаления или проведения.

Важно понимать разницу между правом на действие и правом на интерактивное действие. Например, право «Изменение» позволяет программно записать объект, а «Интерактивное изменение» — сделать это через форму в пользовательском интерфейсе. Если дать только программное право, пользователь не сможет сохранить документ кнопкой «Записать».

Права проверяются платформой при каждом обращении к данным. Если роли нет права на чтение справочника «Сотрудники», пользователь не увидит его ни в списке, ни в отчёте, ни в подборе — объект просто исчезнет из его интерфейса.

Как роли связаны с пользователями

Сама по себе роль ничего не делает — она начинает работать, когда назначена пользователю информационной базы. В конфигураторе это делается в списке пользователей (Администрирование → Пользователи), на закладке «Прочие» или в отдельном списке ролей, в зависимости от версии платформы. В типовых конфигурациях чаще используются профили групп доступа — надстройка над ролями, о которой ниже.

Одному пользователю можно назначить несколько ролей, и их права складываются по принципу «разрешено, если разрешено хотя бы в одной роли». Запретов в механизме ролей нет: нельзя создать роль, которая «отнимает» право. Если пользователю доступно лишнее — значит, у него назначена лишняя роль, и её нужно снять.

Отдельный случай — роль «Полные права» (в типовых — «Администратор системы» и «Полные права»). Она открывает доступ ко всем объектам, включая служебные. Назначать её рядовым пользователям «на всякий случай» — распространённая и опасная практика: такой пользователь может случайно удалить данные, изменить настройки обмена или открыть доступ посторонним.

Как посмотреть и настроить роль в конфигураторе

Роли хранятся в дереве конфигурации в ветке «Общие → Роли». Двойной щелчок по роли открывает окно редактирования прав: слева список объектов, справа — флажки прав. Флажок «Устанавливать права для новых объектов» у корня дерева прав означает, что при добавлении в конфигурацию нового объекта роль автоматически получит на него права — удобно, но требует контроля.

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

Порядок действий при создании собственной роли
  1. 1
    Откройте конфигуратор, ветка Общие → Роли, скопируйте ближайшую по смыслу типовую роль и переименуйте копию.
  2. 2
    Оставьте в копии только нужные объекты и снимите лишние флажки прав.
  3. 3
    Обновите конфигурацию базы данных (F7).
  4. 4
    Назначьте роль тестовому пользователю и войдите под ним в базу.
  5. 5
    Проверьте: нужные операции выполняются, лишние объекты не видны.
  6. 6
    Назначьте роль рабочим пользователям или добавьте её в профиль группы доступа.

Ограничение доступа на уровне записей (RLS)

Обычные права роли действуют на объект целиком: либо пользователь видит все документы «Реализация товаров», либо не видит ни одного. Когда нужно разграничить доступ внутри одного объекта — например, менеджер видит только свои документы или только свою организацию — используется механизм RLS (Record Level Security, ограничение доступа на уровне записей).

RLS настраивается в той же роли: для права «Чтение» (или другого) задаётся шаблон ограничения на встроенном языке. Платформа автоматически добавляет условие к каждому запросу к этой таблице. Это мощный, но «дорогой» механизм: сложные шаблоны заметно замедляют запросы и формирование отчётов, особенно на больших базах.

Практическая рекомендация — использовать готовые шаблоны из типовых конфигураций и параметры сеанса (текущий пользователь, его подразделение), а не писать шаблоны с нуля. Перед внедрением RLS проверьте скорость типовых операций под пользователем с ограничениями, а не под администратором.

Роли и профили групп доступа в типовых конфигурациях

В конфигурациях на Библиотеке стандартных подсистем (БСП) — а это почти все современные типовые решения — администратор в пользовательском режиме работает не с ролями напрямую, а с профилями групп доступа. Профиль — это обёртка над набором ролей: «Кассир», «Бухгалтер», «Менеджер по продажам». Пользователю назначается профиль, а платформа получает от него соответствующие роли.

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

Если прав не хватает, сначала проверьте состав профиля пользователя в разделе администрирования, и только потом лезьте в конфигуратор. Часто проблема решается добавлением готового профиля «Добавление и изменение базовой нормативно-справочной информации» или аналогичного.

Сравнение вариантов раздачи прав

Назначение ролей в конфигураторе

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

Профили групп доступа в режиме предприятия

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

Собственная роль-копия + профиль

Гибрид для случаев, когда типовых прав не хватает: роль создаётся в конфигураторе, затем включается в профиль. Требует аккуратности при обновлениях.

Как проверить, какие права реально есть у пользователя

Самый надёжный способ — войти в базу под учётной записью пользователя и выполнить проблемную операцию. Но для диагностики есть и программные средства. Функция встроенного языка ПравоДоступа("Изменение", Метаданные.Документы.РеализацияТоваровУслуг) возвращает, есть ли у текущего сеанса нужное право с учётом всех назначенных ролей.

В типовых конфигурациях полезен отчёт или обработка анализа прав доступа, а также журнал регистрации: отказ в доступе фиксируется там как событие «Доступ. Отказ в доступе» с указанием объекта и права. Это самый быстрый способ понять, какого именно права не хватает, когда пользователь видит сообщение «Нарушение прав доступа».

Контрольные точки

Как проверить результат настройки

Вход под пользователем
Норма

Пользователь входит и видит только свои разделы

Тревожный признак

Пустой интерфейс или, наоборот, видны служебные разделы

Выполнение целевой операции
Норма

Документ проводится, отчёт формируется

Тревожный признак

Сообщение «Нарушение прав доступа»

Попытка открыть закрытый объект
Норма

Объект отсутствует в списках и поиске

Тревожный признак

Объект открывается — значит, назначена лишняя роль

Журнал регистрации
Норма

Нет событий отказа в доступе при штатной работе

Тревожный признак

Повторяющиеся отказы по одному объекту

Типичные ошибки при работе с ролями

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

Типичные ошибки
01
Назначение полных прав вместо поиска недостающего права — пользователь получает возможность удалить любые данные и изменить настройки безопасности.
02
Правка типовой роли напрямую — изменения теряются или конфликтуют при обновлении конфигурации; нужно создавать копию роли.
03
Проверка RLS под администратором — ограничения на него не действуют, поэтому ошибки настройки остаются незамеченными до работы реальных пользователей.
04
Добавление роли без переподключения сеанса — пользователь продолжает работать со старым набором прав до перезахода в базу.
05
Игнорирование интерактивных прав — дано право «Изменение», но не «Интерактивное изменение», и пользователь не может сохранить объект из формы.

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

Удобно вести простую таблицу соответствия «должность — профиль/роли». При приёме нового сотрудника администратор не подбирает права заново, а назначает готовый набор, а при увольнении сразу видит, что нужно отключить.
ПЗ
Практическое замечание

Частые вопросы о ролях в 1С

Можно ли назначить пользователю несколько ролей одновременно?

Да, это штатный режим работы. Права от всех ролей суммируются: если хотя бы одна роль разрешает действие, оно доступно. Обратного механизма — «запрещающей» роли — в платформе нет, поэтому лишний доступ убирается только снятием лишней роли.

Почему пользователь не видит изменений прав после назначения роли?

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

Чем роль отличается от профиля группы доступа?

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

Можно ли ограничить доступ к отдельным документам одного вида?

Да, для этого служит механизм RLS — ограничение доступа на уровне записей. В роли задаётся шаблон условия, например по организации или ответственному, и платформа фильтрует записи во всех запросах. Учитывайте, что сложные условия влияют на производительность.

Что делать, если после обновления конфигурации у пользователей пропали права?

Проверьте, не правили ли типовые роли напрямую — при обновлении они могли быть заменены поставщиком. Восстановите права, перенесите изменения в собственные роли-копии и назначьте их заново. Затем проверьте журнал регистрации на события отказа в доступе.

Как узнать, каких прав не хватает при ошибке «Нарушение прав доступа»?

Откройте журнал регистрации и найдите событие «Доступ. Отказ в доступе» за нужное время — в нём указаны пользователь, объект метаданных и конкретное право. После этого добавьте роль, содержащую это право, или расширьте профиль пользователя.

Итог

Что важно запомнить

Роль в 1С — набор прав доступа к объектам конфигурации, назначаемый пользователям. Права от нескольких ролей суммируются, запрещающих ролей не существует. В типовых конфигурациях работайте через профили групп доступа, типовые роли не правьте напрямую, полные права выдавайте только администраторам, а результат проверяйте под учётной записью самого пользователя.