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