Новая роль в конфигураторе 1С: создание, права и назначение пользователям

· 9 мин

Содержание

Чтобы добавить роль в 1С, откройте конфигуратор, выполните Конфигурация → Открыть конфигурацию, раскройте в дереве ветку Общие → Роли и нажмите Insert (или «Добавить» в контекстном меню). Задайте имя, отметьте права на нужные объекты, сохраните и обновите конфигурацию базы данных клавишей F7. После этого роль можно назначить пользователю.

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

Подготовка: где создавать роль и что сделать до начала

Сначала решите, куда положить роль. От этого зависит, переживёт ли она обновление типовой конфигурации.

ВариантКогда подходитРиски
Новая роль в основной конфигурацииСамописная конфигурация или уже снятая с поддержкиПочти никаких, роль ваша
Новая роль в типовой на поддержкеКонфигурация уже доработана, режим изменений включёнОбновления придётся ставить через сравнение и объединение
Роль в расширении конфигурацииТиповая конфигурация, которую обновляете из поставкиНужно заимствовать объекты, на которые даёте права
Правка типовой ролиПочти никогдаИзменения затираются или конфликтуют при каждом обновлении

Не редактируйте типовые роли вроде «ПолныеПрава» или «БазовыеПраваБП». Создайте свою роль с недостающими правами: права ролей у пользователя складываются, поэтому новая роль просто добавит доступ к основному набору.

Перед началом проверьте:

  • 🔑 вы входите в конфигуратор под пользователем с правом «Администрирование»;
  • 💾 есть свежая выгрузка базы (Администрирование → Выгрузить информационную базу в конфигураторе), если меняете основную конфигурацию;
  • 📝 у вас есть список: какие справочники, документы, отчёты и обработки нужны новой роли и в каком режиме (только смотреть или ещё и менять).

Последний пункт экономит больше всего времени. Роль, которую собирают «по ходу», обычно получает лишние права.

Шаг 1. Откройте конфигуратор и включите редактирование

Запустите 1С, выберите базу и нажмите «Конфигуратор». Затем выполните Конфигурация → Открыть конфигурацию, слева появится дерево метаданных.

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

  1. Откройте Конфигурация → Поддержка → Настройка поддержки.
  2. Нажмите «Включить возможность изменения».
  3. Подтвердите. В правилах поддержки для поставщика оставьте «Объект поставщика редактируется с сохранением поддержки».

Если базу обновляете сами из файлов поставки и не хотите вести объединение, пропустите этот шаг. Создайте расширение: Конфигурация → Расширения конфигурации, кнопка «Добавить». В открывшемся дереве расширения есть та же ветка Общие → Роли.

Шаг 2. Добавьте роль в дерево метаданных

Роль создаётся одинаково в основной конфигурации и в расширении:

  1. Раскройте Общие и найдите ветку Роли.
  2. Выделите её и нажмите Insert или выберите «Добавить» в контекстном меню.
  3. В палитре свойств заполните «Имя» без пробелов, например ПросмотрСкладскихДокументов.
  4. Заполните «Синоним»: его увидит администратор в списке ролей, пусть он будет понятным — «Просмотр складских документов».
  5. В «Комментарии» коротко запишите, для кого роль и кто её заказал. Через год это пригодится.

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

Внизу редактора три флажка. Их смысл стоит понять сразу:

ФлажокЧто делаетЧто ставить
Устанавливать права для новых объектовНовые объекты, добавленные в конфигурацию позже, сразу получат права в этой ролиСнять для ограниченных ролей
Устанавливать права для реквизитов и табличных частей по умолчаниюРеквизиты наследуют права своего объектаОбычно оставить
Независимые права подчинённых объектовПрава реквизитов перестают зависеть от прав объектаТолько если настраиваете поля точечно

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

Шаг 3. Настройте права доступа роли на объекты

Начните с корня дерева, с узла с именем конфигурации. Здесь общие права на работу с базой. Без них пользователь даже не запустит программу:

  • 🖥 «Тонкий клиент» и (или) «Веб-клиент» — по способу работы пользователя;
  • 💾 «Сохранение данных пользователя» — иначе не сохраняются настройки форм и отчётов;
  • 🖨 «Вывод» — печать и выгрузка табличных документов в файл;
  • 📂 «Интерактивное открытие внешних обработок» и «…внешних отчётов» — только тем, кому это нужно;
  • 🛑 «Администрирование», «Администрирование данных», «Монопольный режим», «Обновление конфигурации базы данных» — рядовым ролям не давайте.

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

Дальше переходите к объектам. Права делятся на два слоя: непосредственные (чтение, изменение данных из кода) и интерактивные (действия пользователя в форме).

ОбъектМинимум для просмотраДля работы
СправочникЧтение, Просмотр, Ввод по строке+ Добавление, Изменение, Интерактивное добавление, Редактирование, Интерактивная пометка удаления
ДокументЧтение, Просмотр+ Добавление, Изменение, Проведение, Интерактивное добавление, Редактирование, Интерактивное проведение
Регистр накопления или сведенийЧтениеИзменение — только если документы пишут в регистр под этой ролью без привилегированного режима
Отчёт, обработкаИспользование, Просмотр—

Главный приём: интерактивное право работает только поверх непосредственного. «Просмотр» без «Чтения» ничего не откроет, «Интерактивное проведение» без «Проведения» не проведёт документ. Редактор прав подсказывает это сам: при установке интерактивного права он отмечает связанное базовое.

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

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

Шаг 4. Права на реквизиты и табличные части

Иногда нужно скрыть одно поле: например, менеджер видит документ, но не видит закупочную цену. Для этого роль настраивают на уровне реквизитов.

  1. В дереве редактора прав раскройте объект, например документ.
  2. Выделите реквизит или табличную часть, а внутри неё конкретный реквизит строки.
  3. Справа доступны два права: «Просмотр» и «Редактирование».
  4. Снимите «Просмотр», чтобы поле не показывалось в формах, или только «Редактирование», чтобы поле было видно, но не менялось.

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

Для ограничения строк, а не полей, используют ограничение доступа на уровне записей (RLS). В редакторе прав у права «Чтение» и других есть колонка «Ограничение доступа к данным», а у роли — закладка «Шаблоны ограничений». В типовых на БСП RLS настраивается не вручную, а через группы доступа и виды доступа (организации, склады), поэтому писать условия в своей роли там обычно не нужно.

Шаг 5. Сохраните и проверьте созданную роль

После настройки:

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

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

Проверка новой роли под тестовым пользователем
Выполнено: 0 / 8

Если при каком-то действии появляется Нарушение прав доступа!, в окне ошибки нажмите «Подробно». Там будет указан объект и право, которого не хватило. Это самый быстрый способ найти пропущенную галочку, особенно с регистрами, которые пишет документ.

Шаг 6. Назначьте роль пользователям и группам

Способ зависит от того, построена ли конфигурация на БСП.

Самописная конфигурация без БСП

Роли назначаются в конфигураторе:

  1. Администрирование → Пользователи.
  2. Откройте пользователя и перейдите на закладку «Прочие».
  3. Отметьте новую роль флажком и нажмите «ОК».

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

Типовые на БСП: Бухгалтерия 3.0, ЗУП 3.1, УТ 11

Здесь роли в конфигураторе не назначают. Программа сама выставляет роли пользователю по его группам доступа и может снять «лишние» роли, назначенные вручную.

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

Порядок такой:

  1. Скопируйте подходящий поставляемый профиль или создайте новый. Поставляемые профили менять нельзя, только копировать.
  2. На закладке «Разрешённые действия (роли)» найдите свою роль по синониму и отметьте её.
  3. Откройте «Группы доступа» в том же разделе и создайте группу с этим профилем.
  4. Добавьте в группу пользователей. Роль появится у них автоматически.

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

Частые ошибки при работе с ролями

Ошибки, которые встречаются даже у опытных администраторов:

  • ❌ Роль назначили в конфигураторе пользователю типовой на БСП. Через какое-то время роль исчезла. Причина в пересчёте ролей по группам доступа. Назначайте через профили.
  • ❌ Забыли обновить конфигурацию базы данных. Роль видна в дереве, но в базе её нет, и пользователь работает со старыми правами.
  • ❌ Дали «Изменение» на регистр вместо того, чтобы найти реальную причину. Иногда ошибка прав возникает в обработке, которую роль вообще не должна запускать. Сначала посмотрите «Подробно» в тексте ошибки.
  • ❌ Убрали у себя права администратора. Если при правке списка пользователей ни у кого не останется роли с правом «Администрирование», конфигуратор не даст сохранить. А если такой пользователь есть, но пароль от него утерян, доступ придётся восстанавливать из резервной копии.
  • ❌ Завели роль «на всякий случай» с флажком прав для новых объектов. Через пару доработок она даёт доступ к тому, о чём никто не думал.

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

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