Где посмотреть роли и группы доступа пользователя 1С 8.3

· 9 мин

Содержание

Чтобы узнать роль в 1С 8.3, откройте Администрирование → Настройки пользователей и прав → Пользователи, затем карточку нужного сотрудника и ссылку «Права доступа »: там видны группы доступа, а через них — профили и роли. Если в режиме 1С:Предприятие карточка недоступна, роли пользователя показывает Конфигуратор: Администрирование → Пользователи, вкладка «Прочие».

Способов проверить права несколько, и выбирают их по ситуации. Администратору типовой базы хватает карточки пользователя. Программисту быстрее вызвать РольДоступна() в коде. Если пользователь пришёл с ошибкой «недостаточно прав», начинают с текста ошибки и журнала регистрации, а не с перебора ролей.

СпособКто можетЧто покажетКогда выбирать
Карточка пользователяАдминистратор в режиме ПредприятияГруппы доступа и профилиТиповые БП 3.0, ЗУП 3.1, УТ 11
Профиль группы доступаАдминистраторПолный список ролей профиляПонять, что именно даёт группа
КонфигураторТот, у кого есть вход в КонфигураторФактические роли пользователя ИБНетиповые и самописные базы
Встроенный языкПрограммист, админОтвет «да/нет» по роли или правуПроверка в обработке, отладка
Текст ошибки и журналЛюбой, журнал — админНа каком объекте отказПользователь жалуется на ошибку

Из чего складываются права доступа в 1С

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

Типовые конфигурации на Библиотеке стандартных подсистем (БСП) надстраивают над ролями ещё два слоя:

  • 🧩 Профиль группы доступа — набор ролей под должность: «Бухгалтер», «Кадровик», «Менеджер по продажам».
  • 👥 Группа доступа — профиль плюс конкретные участники и, при необходимости, ограничения (по организациям, складам и т.п.).
  • 👤 Пользователь — получает роли всех групп доступа, в которые он входит.

Итоговые роли пользователя — это объединение ролей всех его групп. Если человек состоит в группах «Бухгалтер» и «Кассир», у него обе пачки ролей сразу. Запретить роль одной группой, когда её даёт другая, нельзя: права в 1С только складываются.

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

В базах на БСП роли пользователю назначает сама программа по группам доступа. Ручные галочки ролей в Конфигураторе при следующем обновлении прав будут перезаписаны.

Как узнать роль пользователя в режиме 1С:Предприятие

Этот путь работает в БП 3.0, ЗУП 3.1, УТ 11, КА 2 и других конфигурациях на БСП. Нужны административные права.

Карточка пользователя

  1. Откройте Администрирование → Настройки пользователей и прав.
  2. Перейдите по ссылке «Пользователи» и откройте нужную запись двойным щелчком.
  3. Нажмите «Права доступа» в верхней части карточки.
  4. В списке отмечены группы доступа, в которые входит пользователь. У каждой группы указан её профиль.

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

Состав ролей профиля

Сама карточка показывает группы, а не роли. Чтобы увидеть роли:

  1. Откройте Администрирование → Настройки пользователей и прав → Профили групп доступа.
  2. Найдите профиль, указанный у группы пользователя.
  3. Перейдите на вкладку «Разрешенные действия (роли)».

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

Отчёт по правам

Из карточки пользователя открывается отчёт «Права доступа» (в командной панели карточки, в группе отчётов). Он показывает не роли, а итог: к каким разделам и объектам у пользователя есть чтение, изменение, добавление. Это удобнее всего, когда надо ответить на вопрос «может ли он проводить реализации», а не «какие у него роли».

Признак полного доступа — участие в группе «Администраторы» с профилем «Администратор». Он даёт роли «Полные права» и «Администратор системы». Выдавать его «на время, чтобы заработало» опасно: права потом забывают снять.

Проверка ролей в Конфигураторе

Конфигуратор показывает роли, которые реально записаны пользователю информационной базы. Это единственный надёжный способ для нетиповых баз без БСП и для старых самописных решений.

  1. Запустите базу в режиме «Конфигуратор».
  2. Откройте меню Администрирование → Пользователи.
  3. Дважды щёлкните по пользователю.
  4. На вкладке «Основные» видны имя, аутентификация и флажок «Показывать в списке выбора».
  5. На вкладке «Прочие» — список ролей с флажками. Отмеченные роли и есть права этого пользователя.

Там же, на вкладке «Прочие», задаются основной режим запуска и язык. Если в списке ролей отмечена «ПолныеПрава» (синоним «Полные права»), у пользователя нет ограничений на уровне ролей.

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

Матрица «Все роли»

Чтобы понять, какая роль даёт доступ к конкретному объекту, удобна матрица прав:

  1. Откройте дерево конфигурации: Конфигурация → Открыть конфигурацию.
  2. Разверните Общие → Роли.
  3. Щёлкните правой кнопкой по ветке «Роли» и выберите «Все роли».

Откроется таблица: строки — объекты метаданных, столбцы — роли. Выделите документ, например «Реализация (акт, накладная)», и сразу видно, в каких ролях у него стоят права «Чтение», «Проведение», «Интерактивное удаление». Так ищут, какую роль добавить пользователю, вместо того чтобы включать всё подряд.

Не меняйте роли пользователей в Конфигураторе рабочей базы на БСП напрямую — правьте группы доступа в режиме Предприятия. Иначе картина прав в Конфигураторе и в карточке пользователя разойдётся.

Как проверить роль программно: РольДоступна и ПравоДоступа

Встроенный язык даёт три инструмента. Их вызывают во внешней обработке, в отладке или из режима «Все функции».

ФункцияЧто проверяетПример
РольДоступна()Есть ли роль у текущего пользователяРольДоступна("ПолныеПрава")
ПравоДоступа()Есть ли конкретное право на объектПравоДоступа("Проведение", Метаданные.Документы.РеализацияТоваровУслуг)
ПользователиИнформационнойБазыПолный список ролей любого пользователя.ТекущийПользователь().Роли

РольДоступна() принимает имя роли строкой или объект метаданных. Имя пишется как в Конфигураторе, без пробелов: ПолныеПрава, а не «Полные права».

Вывести все роли текущего пользователя

Код выполняется на сервере. Создайте внешнюю обработку с командой формы и такой серверной процедурой:

&НаСервере
Процедура ПоказатьМоиРолиНаСервере()
    
    ТекущийПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
    
    Если ПустаяСтрока(ТекущийПользовательИБ.Имя) Тогда
        Сообщить("В базе нет пользователей: доступны все роли.");
        Возврат;
    КонецЕсли;
    
    Для Каждого Роль Из ТекущийПользовательИБ.Роли Цикл
        Сообщить(Роль.Имя + " — " + Роль.Синоним);
    КонецЦикла;
    
КонецПроцедуры

Проверка пустого имени не лишняя. Когда в базе нет пользователей, коллекция Роли у текущего пользователя пустая, хотя на деле доступно всё.

Проверить конкретное право

Для бизнес-логики полезнее спрашивать не роль, а право. Роли переименовывают и дробят при обновлениях, а право «Проведение» у документа остаётся:

&НаСервере
Функция МожноПроводитьРеализацию()
    Возврат ПравоДоступа("Проведение", Метаданные.Документы.РеализацияТоваровУслуг);
КонецФункции

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

В конфигурациях на БСП для проверки администратора есть готовая функция Пользователи.ЭтоПолноправныйПользователь(). Она учитывает логику подсистемы, поэтому в типовых доработках лучше вызывать её, а не РольДоступна("ПолныеПрава").

Чтобы открыть внешнюю обработку, нужна команда «Все функции». Включается она через главное меню: Сервис → Параметры, флажок «Отображать команду “Все функции”». У рядового пользователя может не быть права на этот режим — тогда проверку делает администратор.

Разбор ошибки «Недостаточно прав»: на какой объект нет доступа

Когда пользователь жалуется на нехватку прав, перебирать роли наугад долго. Платформа сама говорит, где отказ, — надо только прочитать.

Что смотреть в окне ошибки

  1. Попросите пользователя не закрывать окно, а нажать ссылку «Подробнее» (или сделать снимок экрана с ней).
  2. В подробном тексте обычно указаны действие и объект: например, нет права на чтение конкретного регистра или справочника.
  3. По имени объекта найдите в матрице «Все роли» роль, которая даёт нужное право.
  4. Посмотрите, в каком профиле эта роль есть, и добавьте пользователя в соответствующую группу доступа.

Частые тексты, с которыми приходят пользователи: Недостаточно прав для просмотра, Нарушение прав доступа!, Недостаточно прав на ... с названием действия и таблицы.

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

Если окно уже закрыли, откройте Администрирование → Обслуживание → Журнал регистрации. Поставьте отбор по пользователю и уровню «Ошибка». В записи отказа доступа будет то же сообщение, что видел пользователь, со временем и компьютером.

Диагностика: выберите симптом

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

Типичный запрос: «у Ивановой работает, у Петрова — нет». Сравнивать удобнее от групп, а не от ролей.

Через группы доступа

  1. Откройте Администрирование → Настройки пользователей и прав → Группы доступа.
  2. Пройдите по группам и посмотрите вкладку участников.
  3. Выпишите в две колонки, в каких группах есть Иванова и Петров.
  4. Разница в группах — это и есть разница в правах. Если группы одинаковые, сравните ограничения доступа внутри групп: у одного может быть доступ к двум организациям, у другого — к одной.

Через код: роли всех пользователей одним списком

Для нетиповой базы или для аудита быстрее выгрузить роли всех пользователей. Код требует административных прав и выполняется на сервере:

&НаСервере
Процедура РолиВсехПользователейНаСервере()
    
    Для Каждого ПользовательИБ Из ПользователиИнформационнойБазы.ПолучитьПользователей() Цикл
        ИменаРолей = Новый Массив;
        Для Каждого Роль Из ПользовательИБ.Роли Цикл
            ИменаРолей.Добавить(Роль.Имя);
        КонецЦикла;
        Сообщить(ПользовательИБ.Имя + ": " + СтрСоединить(ИменаРолей, ", "));
    КонецЦикла;
    
КонецПроцедуры

Результат копируют из окна сообщений в таблицу и сравнивают построчно. СтрСоединить() доступна в платформе с номером не ниже 8.3.6 — в актуальных версиях она есть всегда.

Что ещё различается, кроме ролей

  • ⚙️ Ограничения на уровне записей — набор доступных организаций, складов, подразделений в группе доступа.
  • 🖥️ Режим запуска — у пользователя может быть задан толстый клиент, а не тонкий; часть форм ведёт себя иначе.
  • 🔐 Вход — пароль 1С, аутентификация Windows или ОС. На права это не влияет, но объясняет «не могу зайти».
  • 🧷 Персональные настройки — скрытые колонки и команды на панели. Их путают с отсутствием прав: команды «нет», а права на неё есть.

Персональные настройки сравнивают и копируют в обработке Администрирование → Настройки пользователей и прав → Настройки пользователей. Права при этом не копируются — только внешний вид и сохранённые параметры.

Частые вопросы

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