Роли и права в 1С 8.3: как выдать пользователю нужный доступ

· 9 мин

Содержание

Роль пользователю в 1С 8.3 выдаёт администратор базы, а не сам пользователь. В типовых конфигурациях (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) это делают в режиме Предприятия: раздел Администрирование → Настройки пользователей и прав, где пользователя включают в группу доступа или отмечают ему профиль. Роль в Конфигураторе ставят только в базах без такого механизма.

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

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

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

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

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

Итог: пользователь получает все роли из всех групп доступа, где он участник. Права суммируются, отнять их одной группой у другой нельзя.

УровеньГде настраиваетсяКто меняет
РольКонфигуратор, ветка «Роли» дерева метаданныхРазработчик
Профиль групп доступаРежим Предприятия, настройки пользователей и правАдминистратор
Группа доступаТам жеАдминистратор
Список ролей пользователяЗаполняется программой автоматическиНикто вручную

Что подготовить перед выдачей прав

Прежде чем выдавать доступ, проверьте пять вещей. Это займёт пару минут и снимет половину вопросов «почему у него не работает ».

  1. У вас самих есть права администратора. Нужен профиль «Администратор» или роль «Полные права». Без них раздел настроек пользователей и прав просто не откроется.
  2. Пользователь заведён в справочнике. Карточка есть в списке Пользователи, и в ней стоит флажок «Вход в программу разрешен».
  3. Задан способ входа. Для входа по логину и паролю — аутентификация 1С:Предприятия с именем для входа. Для входа под учётной записью Windows — аутентификация операционной системы с доменным пользователем вида DOMAIN\ivanov.
  4. Понятен состав обязанностей. Не «дайте ему всё», а конкретно: вводит банковские выписки, смотрит ОСВ, не трогает зарплату.
  5. Известно, нужны ли ограничения по данным. Если в базе несколько организаций и человек должен видеть одну, ограничение на уровне записей придётся включать отдельно.

Не выдавайте профиль «Администратор» ради одной-двух недостающих операций. С ним сотрудник может менять права остальным, удалять пользователей и запускать обработки.

Перед назначением прав
Выполнено: 0 / 5

Как дать роль пользователю в типовых конфигурациях

Раздел с настройками в трёх самых распространённых конфигурациях находится по разным путям:

КонфигурацияПуть к настройкам
Бухгалтерия предприятия 3.0Администрирование → Настройки пользователей и прав
ЗУП 3.1Администрирование → Настройки пользователей и прав
Управление торговлей 11НСИ и администрирование → Настройки пользователей и прав

Дальше всё зависит от режима настройки прав. В Бухгалтерии по умолчанию включён упрощённый режим, в ЗУП и УТ — полный, с группами доступа.

Упрощённый режим (как в Бухгалтерии 3.0)

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

Каждый отмеченный профиль программа превращает в персональную группу доступа этого пользователя. Отдельно её создавать не нужно.

Полный режим (ЗУП 3.1, УТ 11)

  1. В настройках пользователей и прав откройте Группы доступа.
  2. Найдите подходящую группу или создайте новую кнопкой Создать. Новой группе выберите профиль.
  3. На вкладке участников нажмите Подобрать и выберите пользователей или их группы.
  4. Если включено ограничение на уровне записей, заполните вкладку с ограничениями: какие организации или склады доступны.
  5. Нажмите Записать и закрыть.

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

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

Роль через Конфигуратор: когда так можно

В Конфигураторе роли назначают в Администрирование → Пользователи. Откройте пользователя двойным щелчком, перейдите на вкладку Прочие и отметьте роли галочками.

Этот путь подходит в трёх случаях:

  • 🛠 Самописная конфигурация без БСП, где нет справочника групп доступа.
  • 🧪 Тестовая или учебная база, где нужно быстро выдать права одному человеку.
  • 🚑 Аварийный вход: все администраторы потеряли доступ, и надо вернуть «Полные права» хотя бы одному пользователю.

В типовой базе такую правку стоит считать временной. Как только кто-то запишет карточку пользователя или группу доступа, БСП приведёт список ролей к состоянию по профилям. Ваша галочка исчезнет.

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

Для открытия Конфигуратора нужна роль с правом «Администрирование». В типовых конфигурациях это «Полные права» или «Администратор системы».

Свой профиль, если стандартного не хватает

Поставляемые профили — «Бухгалтер», «Кадровик», «Менеджер по продажам» — закрывают типовые должности. Но часто человеку нужно чуть больше или чуть меньше.

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

  1. Откройте Профили групп доступа.
  2. Выделите похожий профиль и нажмите Скопировать.
  3. Дайте копии понятное имя: «Бухгалтер + банк», «Склад только просмотр».
  4. На вкладке ролей добавьте или снимите галочки. Включите показ всех ролей, если нужная не видна в списке.
  5. Запишите профиль и выберите его в группе доступа вместо старого.

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

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

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

Права не появились: как найти причину

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

Сообщение Нарушение прав доступа! — это ответ платформы: у пользователя нет права на действие с конкретным объектом. Текст ошибки обычно называет объект — с ним и сверяйтесь в отчёте.

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

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

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

Массовое назначение: группы пользователей и обработка

Когда нужно дать одинаковый доступ двадцати новым сотрудникам, карточки по одной открывать не придётся.

Без программирования: группы пользователей

  1. В справочнике Пользователи создайте группу, например «Отдел продаж», и перенесите туда сотрудников.
  2. В группе доступа на вкладке участников добавьте не людей, а эту группу пользователей.
  3. Новичка достаточно включить в группу «Отдел продаж» — права он получит автоматически.

Это самый безопасный приём: всё делается штатными средствами, история изменений видна в справочниках.

Внешняя обработка для нетиповой базы

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

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

Запускайте обработку сначала на копии базы. Для этого нужны административные права, а ошибка в имени роли или условии затронет всех пользователей сразу.

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

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

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

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