Администрирование · 11 мин
Где хранятся роли в 1С и как их найти
Где хранятся роли в 1С: в конфигурации, информационной базе и файлах поставки. Как найти, изменить и проверить роли пользователей без риска для данных.
Роли в 1С существуют сразу в двух местах, и понимание этого разделения — ключ к безопасному администрированию. Сами объекты «Роль» с наборами прав на объекты метаданных хранятся в конфигурации, а привязка конкретных ролей к конкретным пользователям хранится в информационной базе. Поэтому вопрос «где хранятся роли» имеет два ответа, и оба важны на практике.
Если нужно изменить состав прав (например, запретить удаление документов), работа ведётся в конфигураторе с последующим обновлением конфигурации базы данных. Если нужно назначить или снять роль у сотрудника, достаточно изменить настройки пользователя в режиме «1С:Предприятие» или через консоль управления, не трогая конфигурацию.
Ниже разобраны оба уровня хранения, способы найти нужную роль, типичные сценарии изменения прав и ограничения, о которых следует знать перед вмешательством.
Где в конфигураторе находятся объекты «Роль»
Дерево конфигурации открывается через меню «Конфигурация → Открыть конфигурацию». Объекты «Роль» расположены в ветке «Общие → Роли». Каждая роль — это самостоятельный объект метаданных, в котором на закладках «Права» и «Шаблоны ограничений» задаётся, какие действия разрешены над справочниками, документами, регистрами и другими объектами.
Двойной щелчок по роли открывает окно редактирования прав: слева — список объектов конфигурации, справа — флажки прав (чтение, добавление, изменение, удаление, просмотр, проведение и другие). Набор доступных прав зависит от типа объекта: у документов есть проведение и отмена проведения, у регистров — чтение и изменение записей.
Физически конфигурация хранится внутри файла информационной базы (файл 1Cv8.1CD для файлового варианта) или в базе данных на сервере СУБД (MS SQL, PostgreSQL и другие). Отдельных файлов ролей в каталоге базы нет — это часть структуры конфигурации.
Где хранится привязка ролей к пользователям
Список пользователей и назначенные им роли — это данные информационной базы, а не конфигурации. В конфигураторе список открывается через «Администрирование → Пользователи». В карточке пользователя на закладке «Прочие» отображаются доступные роли с флажками: отмеченные роли и есть фактически назначенные права.
В типовых конфигурациях (например, построенных на Библиотеке стандартных подсистем) поверх базового механизма работает подсистема «Управление доступом». Там роли назначаются не напрямую, а через профили групп доступа: администратор включает пользователя в группу доступа, а группа ссылается на профиль, внутри которого перечислены роли. В этом случае прямое редактирование флажков в карточке пользователя часто заблокировано или не имеет эффекта.
При обновлении конфигурации привязка ролей к пользователям не сбрасывается: состав ролей может измениться, но назначения сохранятся. Исключение — удаление роли из конфигурации: тогда она просто исчезает у всех пользователей, у которых была назначена.
Как найти нужную роль и понять, что она даёт
Когда ролей в конфигурации десятки, искать нужную помогает поиск по дереву метаданных: правый клик по корню конфигурации → «Поиск» или сочетание клавиш, далее фильтр по имени. Имена ролей в типовых решениях обычно говорящие: «ДобавлениеИзменениеДокументовПродажи», «ЧтениеДанныхСотрудников» и подобные.
Чтобы понять, какие роли есть у конкретного пользователя, удобнее всего открыть его карточку в списке пользователей. Обратная задача — узнать, у кого назначена конкретная роль, — решается перебором пользователей или обработкой, которую пишут под конкретную конфигурацию; штатного отчёта «роль → пользователи» в базовом конфигураторе нет.
Ещё один практический приём — поиск ссылок на роль в коде. Через «Правка → Глобальный поиск» по имени роли находятся проверки вида РольДоступна("ПолныеПрава") в модулях. Это показывает, где в логике программы роль влияет на поведение системы помимо стандартных прав на объекты.
- 1Откройте конфигуратор и перейдите в «Администрирование → Пользователи».
- 2Откройте карточку нужного пользователя и перейдите на закладку «Прочие».
- 3Посмотрите отмеченные флажками роли — это назначенные права.
- 4Если конфигурация типовая, дополнительно проверьте членство пользователя в группах доступа в режиме «1С:Предприятие».
Как изменить права: назначение роли и редактирование роли
Назначение роли пользователю — безопасная операция, выполняемая без монопольного доступа: откройте карточку пользователя, отметьте нужные роли, сохраните. Изменения применяются к новым сеансам; текущему сеансу пользователя может потребоваться перезапуск, чтобы права вступили в силу.
Редактирование самой роли — операция другого уровня риска. Она выполняется в конфигураторе и требует обновления конфигурации базы данных (F7 или «Конфигурация → Обновить конфигурацию базы данных»), а значит — монопольного доступа к базе. Изменение затронет всех пользователей, у которых эта роль назначена.
Изменять типовые роли напрямую не рекомендуется: при очередном обновлении конфигурации на поддержке правки будут затёрты. Корректный подход — скопировать типовую роль под новым именем, изменить копию и назначать её пользователям, либо использовать механизм расширений конфигурации, где роль добавляется без изменения основной конфигурации.
Роли в файлах поставки, выгрузках и расширениях
При выгрузке конфигурации в файлы (Конфигурация → Выгрузить конфигурацию в файлы) каждая роль сохраняется в виде отдельного XML-файла в каталоге Roles. Внутри — декларация роли и набор прав в структурированном виде. Этот формат используется в системах контроля версий и при сравнении конфигураций.
В файлах поставки (.cf) и обновлениях (.cfu) роли упакованы внутри бинарного контейнера и недоступны для прямого чтения — их можно увидеть только после загрузки конфигурации в базу или сравнения конфигураций в конфигураторе.
Расширения конфигурации хранятся в информационной базе отдельно от основной конфигурации и могут содержать собственные роли. Такие роли видны в дереве конфигурации только при активном расширении и применяются поверх основных прав. При отключении расширения его роли перестают действовать, что иногда воспринимается как «пропажа прав» у пользователей.
Способы изменить права
Быстро, без обновления конфигурации, обратимо. Подходит, когда нужная роль уже существует.
Гибко, но требует обновления конфигурации БД и сопровождения копии при обновлениях.
Не трогает основную конфигурацию, удобно при обновлениях. Ограничение: не все механизмы прав доступны в расширениях.
Штатный путь в типовых решениях, настраивается пользователем-администратором без конфигуратора. Ограничен составом ролей, заложенных разработчиком.
Типичные ошибки и ограничения
Частая ошибка — поиск ролей в файловой системе сервера. Администраторы, привыкшие к другим системам, ищут «файл с ролями» в каталоге базы, но там ничего читаемого нет: всё находится внутри файла 1Cv8.1CD или таблиц СУБД, и прямое редактирование этих данных недопустимо — оно разрушит базу.
Вторая ошибка — назначение роли «ПолныеПрава» вместо того, чтобы разобраться, какого права не хватает. Это решает проблему мгновенно, но открывает пользователю всю базу, включая административные функции. Диагностика правильнее: в журнале регистрации при отказе в доступе фиксируется событие с указанием объекта и права, которого не хватило.
Третья ошибка — правка типовой роли «вживую» без учёта поддержки. После обновления конфигурации такие изменения теряются, и пользователи внезапно получают отказы в доступе там, где раньше всё работало. Признак этой ситуации — жалобы, начавшиеся сразу после обновления.
Как проверить результат после изменения прав
Базовая проверка — войти под целевым пользователем и выполнить операцию, ради которой менялись права. Успешное выполнение и отсутствие лишних возможностей (например, кнопка удаления недоступна, если удаление не разрешалось) подтверждают корректность настройки.
Дополнительно проверьте журнал регистрации: отказы в доступе фиксируются там с указанием пользователя, объекта и права. Если после назначения роли отказы продолжаются, значит, не хватает другой роли или срабатывает ограничение на уровне записей (RLS), заданное в шаблонах роли.
Как проверить результат
Операция выполняется без сообщений о нарушении прав
Отказ в доступе — не хватает роли или права внутри роли
Недоступные действия скрыты или заблокированы
Пользователь видит и может выполнять действия за пределами задачи
Нет новых событий отказа в доступе
Повторяющиеся отказы по конкретному объекту
FAQ
Можно ли найти роли в файле базы 1Cv8.1CD напрямую?
Нет. Файл имеет внутренний бинарный формат, и роли вместе с остальной конфигурацией недоступны для чтения сторонними средствами. Работа с ролями ведётся только через конфигуратор или штатные механизмы платформы.
Почему после обновления конфигурации у пользователей пропали права?
Наиболее вероятная причина — перед обновлением были изменены типовые роли, и обновление вернуло их исходное состояние. Реже — роль была удалена из конфигурации поставщиком. Решение: вести собственные роли-копии и назначать их вместо изменённых типовых.
Чем роль отличается от профиля группы доступа?
Роль — объект конфигурации с набором прав, создаётся разработчиком. Профиль группы доступа — пользовательская настройка в типовых конфигурациях, которая объединяет роли и назначается группам пользователей без входа в конфигуратор.
Нужен ли монопольный доступ, чтобы назначить роль пользователю?
Нет, назначение существующей роли выполняется при работающих пользователях. Монопольный доступ требуется только для изменения самих ролей в конфигурации с последующим обновлением конфигурации базы данных.
Как узнать, какого права не хватает при отказе в доступе?
Откройте журнал регистрации, отфильтруйте события по пользователю и найдите запись об отказе в доступе: в ней указаны объект метаданных и конкретное право. После этого подберите роль, содержащую это право, или добавьте право в собственную роль.
Можно ли добавить роль, не снимая конфигурацию с поддержки?
Да, через расширение конфигурации: роль создаётся внутри расширения, основная конфигурация не изменяется и остаётся на поддержке. Учтите, что роли расширения действуют только пока расширение подключено.
Что важно запомнить
Роли как объекты хранятся в конфигурации (Общие → Роли), привязка к пользователям — в информационной базе. Назначение ролей не требует обновления конфигурации, а изменение состава прав — требует. Типовые роли лучше не править напрямую: используйте копии или расширения, а перед любыми массовыми изменениями делайте резервную копию.