Администрирование · 11 мин
Что такое роль в 1С и как с ней работать
Роль в 1С — это набор прав доступа к объектам конфигурации. Разбираем, как работают роли, как назначать их пользователям, проверять результат и избегать ошибок.
Роль в 1С — это объект конфигурации, который определяет, какие действия пользователь может выполнять с данными: читать, добавлять, изменять, удалять документы, справочники, отчёты и другие объекты. Без ролей платформа не даст пользователю ни одного права: даже административный вход в базу требует, чтобы учётной записи была назначена хотя бы одна роль, допускающая работу.
Механизм ролей решает две задачи. Первая — безопасность: кассир не должен видеть зарплату директора, а менеджер по продажам — менять регламентную отчётность. Вторая — удобство: вместо раздачи прав по одному объекту администратор назначает готовую роль, объединяющую десятки и сотни отдельных разрешений.
В типовых конфигурациях («Бухгалтерия предприятия», «Управление торговлей», «Зарплата и управление персоналом») уже есть набор предопределённых ролей, покрывающий типовые должности. Понимание того, как они устроены, нужно и администратору, который раздаёт доступ, и разработчику, который дорабатывает конфигурацию.
Как устроена роль: права на объекты конфигурации
Каждая роль содержит таблицу прав, где строки — объекты конфигурации (справочники, документы, регистры, отчёты, обработки), а столбцы — виды доступа. Основные виды прав: чтение, добавление, изменение, удаление, использование (для отчётов и обработок), просмотр и интерактивные операции вроде интерактивного удаления или проведения.
Важно понимать разницу между правом на действие и правом на интерактивное действие. Например, право «Изменение» позволяет программно записать объект, а «Интерактивное изменение» — сделать это через форму в пользовательском интерфейсе. Если дать только программное право, пользователь не сможет сохранить документ кнопкой «Записать».
Права проверяются платформой при каждом обращении к данным. Если роли нет права на чтение справочника «Сотрудники», пользователь не увидит его ни в списке, ни в отчёте, ни в подборе — объект просто исчезнет из его интерфейса.
Как роли связаны с пользователями
Сама по себе роль ничего не делает — она начинает работать, когда назначена пользователю информационной базы. В конфигураторе это делается в списке пользователей (Администрирование → Пользователи), на закладке «Прочие» или в отдельном списке ролей, в зависимости от версии платформы. В типовых конфигурациях чаще используются профили групп доступа — надстройка над ролями, о которой ниже.
Одному пользователю можно назначить несколько ролей, и их права складываются по принципу «разрешено, если разрешено хотя бы в одной роли». Запретов в механизме ролей нет: нельзя создать роль, которая «отнимает» право. Если пользователю доступно лишнее — значит, у него назначена лишняя роль, и её нужно снять.
Отдельный случай — роль «Полные права» (в типовых — «Администратор системы» и «Полные права»). Она открывает доступ ко всем объектам, включая служебные. Назначать её рядовым пользователям «на всякий случай» — распространённая и опасная практика: такой пользователь может случайно удалить данные, изменить настройки обмена или открыть доступ посторонним.
Как посмотреть и настроить роль в конфигураторе
Роли хранятся в дереве конфигурации в ветке «Общие → Роли». Двойной щелчок по роли открывает окно редактирования прав: слева список объектов, справа — флажки прав. Флажок «Устанавливать права для новых объектов» у корня дерева прав означает, что при добавлении в конфигурацию нового объекта роль автоматически получит на него права — удобно, но требует контроля.
Изменение роли затрагивает всех пользователей, которым она назначена, после обновления конфигурации базы данных и переподключения сеансов. Поэтому правки в типовых ролях лучше не вносить напрямую: при обновлении конфигурации они могут затереться или вызвать конфликт сравнения. Правильный путь — создать копию роли с собственным именем и назначать её.
- 1Откройте конфигуратор, ветка Общие → Роли, скопируйте ближайшую по смыслу типовую роль и переименуйте копию.
- 2Оставьте в копии только нужные объекты и снимите лишние флажки прав.
- 3Обновите конфигурацию базы данных (F7).
- 4Назначьте роль тестовому пользователю и войдите под ним в базу.
- 5Проверьте: нужные операции выполняются, лишние объекты не видны.
- 6Назначьте роль рабочим пользователям или добавьте её в профиль группы доступа.
Ограничение доступа на уровне записей (RLS)
Обычные права роли действуют на объект целиком: либо пользователь видит все документы «Реализация товаров», либо не видит ни одного. Когда нужно разграничить доступ внутри одного объекта — например, менеджер видит только свои документы или только свою организацию — используется механизм RLS (Record Level Security, ограничение доступа на уровне записей).
RLS настраивается в той же роли: для права «Чтение» (или другого) задаётся шаблон ограничения на встроенном языке. Платформа автоматически добавляет условие к каждому запросу к этой таблице. Это мощный, но «дорогой» механизм: сложные шаблоны заметно замедляют запросы и формирование отчётов, особенно на больших базах.
Практическая рекомендация — использовать готовые шаблоны из типовых конфигураций и параметры сеанса (текущий пользователь, его подразделение), а не писать шаблоны с нуля. Перед внедрением RLS проверьте скорость типовых операций под пользователем с ограничениями, а не под администратором.
Роли и профили групп доступа в типовых конфигурациях
В конфигурациях на Библиотеке стандартных подсистем (БСП) — а это почти все современные типовые решения — администратор в пользовательском режиме работает не с ролями напрямую, а с профилями групп доступа. Профиль — это обёртка над набором ролей: «Кассир», «Бухгалтер», «Менеджер по продажам». Пользователю назначается профиль, а платформа получает от него соответствующие роли.
Такой подход удобнее: профиль можно настроить в режиме предприятия без конфигуратора, включив или отключив отдельные разрешённые действия. Но
Если прав не хватает, сначала проверьте состав профиля пользователя в разделе администрирования, и только потом лезьте в конфигуратор. Часто проблема решается добавлением готового профиля «Добавление и изменение базовой нормативно-справочной информации» или аналогичного.
Сравнение вариантов раздачи прав
Полный контроль, подходит для нестандартных ситуаций и самописных конфигураций. Требует обновления конфигурации и знания структуры метаданных.
Быстро и без конфигуратора, подходит для типовых конфигураций. Ограничено возможностями БСП и составом поставляемых ролей.
Гибрид для случаев, когда типовых прав не хватает: роль создаётся в конфигураторе, затем включается в профиль. Требует аккуратности при обновлениях.
Как проверить, какие права реально есть у пользователя
Самый надёжный способ — войти в базу под учётной записью пользователя и выполнить проблемную операцию. Но для диагностики есть и программные средства. Функция встроенного языка ПравоДоступа("Изменение", Метаданные.Документы.РеализацияТоваровУслуг) возвращает, есть ли у текущего сеанса нужное право с учётом всех назначенных ролей.
В типовых конфигурациях полезен отчёт или обработка анализа прав доступа, а также журнал регистрации: отказ в доступе фиксируется там как событие «Доступ. Отказ в доступе» с указанием объекта и права. Это самый быстрый способ понять, какого именно права не хватает, когда пользователь видит сообщение «Нарушение прав доступа».
Как проверить результат настройки
Пользователь входит и видит только свои разделы
Пустой интерфейс или, наоборот, видны служебные разделы
Документ проводится, отчёт формируется
Сообщение «Нарушение прав доступа»
Объект отсутствует в списках и поиске
Объект открывается — значит, назначена лишняя роль
Нет событий отказа в доступе при штатной работе
Повторяющиеся отказы по одному объекту
Типичные ошибки при работе с ролями
Большинство проблем с правами в 1С сводится к нескольким повторяющимся ошибкам. Их знание экономит часы диагностики и защищает базу от случайных повреждений.
Отдельно стоит сказать про «накопление» ролей: когда пользователь меняет должность, старые роли часто забывают снять. Раз в квартал полезно сверять назначенные роли и профили с реальными обязанностями сотрудников, особенно в базах с финансовыми и кадровыми данными.
Удобно вести простую таблицу соответствия «должность — профиль/роли». При приёме нового сотрудника администратор не подбирает права заново, а назначает готовый набор, а при увольнении сразу видит, что нужно отключить.
Частые вопросы о ролях в 1С
Можно ли назначить пользователю несколько ролей одновременно?
Да, это штатный режим работы. Права от всех ролей суммируются: если хотя бы одна роль разрешает действие, оно доступно. Обратного механизма — «запрещающей» роли — в платформе нет, поэтому лишний доступ убирается только снятием лишней роли.
Почему пользователь не видит изменений прав после назначения роли?
Набор прав формируется при подключении сеанса к базе. Пользователю нужно выйти из программы и войти заново. Если роль менялась в конфигураторе, дополнительно требуется обновление конфигурации базы данных.
Чем роль отличается от профиля группы доступа?
Роль — объект конфигурации, создаётся и меняется в конфигураторе. Профиль группы доступа — данные в самой базе, настраиваются в режиме предприятия и ссылаются на роли. В типовых конфигурациях пользователям назначают именно профили, а роли работают «под капотом».
Можно ли ограничить доступ к отдельным документам одного вида?
Да, для этого служит механизм RLS — ограничение доступа на уровне записей. В роли задаётся шаблон условия, например по организации или ответственному, и платформа фильтрует записи во всех запросах. Учитывайте, что сложные условия влияют на производительность.
Что делать, если после обновления конфигурации у пользователей пропали права?
Проверьте, не правили ли типовые роли напрямую — при обновлении они могли быть заменены поставщиком. Восстановите права, перенесите изменения в собственные роли-копии и назначьте их заново. Затем проверьте журнал регистрации на события отказа в доступе.
Как узнать, каких прав не хватает при ошибке «Нарушение прав доступа»?
Откройте журнал регистрации и найдите событие «Доступ. Отказ в доступе» за нужное время — в нём указаны пользователь, объект метаданных и конкретное право. После этого добавьте роль, содержащую это право, или расширьте профиль пользователя.
Что важно запомнить
Роль в 1С — набор прав доступа к объектам конфигурации, назначаемый пользователям. Права от нескольких ролей суммируются, запрещающих ролей не существует. В типовых конфигурациях работайте через профили групп доступа, типовые роли не правьте напрямую, полные права выдавайте только администраторам, а результат проверяйте под учётной записью самого пользователя.