Администрирование · 10 мин
Как сравнить роли в 1С и найти различия в правах доступа
Как сравнить роли в 1С: сравнение конфигураций в конфигураторе, отчёт по правам доступа, типовые инструменты и проверка отличий между ролями пользователей.
Сравнение ролей в 1С — типовая задача администратора и разработчика: нужно понять, чем отличаются права двух пользователей, почему у одного сотрудника открывается документ, а у другого — нет, или что изменилось в роли после обновления конфигурации. В типовой поставке есть несколько рабочих способов: сравнение конфигураций в конфигураторе, отчёт по правам доступа в режиме предприятия и анализ через внешние обработки.
Выбор способа зависит от того, что именно сравнивается: две роли внутри одной конфигурации, одна и та же роль в разных версиях конфигурации или фактические права конкретных пользователей с учётом профилей групп доступа. Ниже разобраны все три сценария с пошаговыми действиями и ограничениями каждого метода.
Важно понимать: роль в конфигураторе и права пользователя в режиме предприятия — не одно и то же. В типовых конфигурациях на базе БСП (Библиотека стандартных подсистем) права назначаются через профили групп доступа, которые ссылаются на роли. Поэтому сравнивать роли как метаданные и сравнивать фактические права пользователей — две разные задачи, и их нужно решать разными инструментами.
Что именно нужно сравнить: роли, профили или права пользователей
Перед началом работы определите объект сравнения. Роль — это метаданные конфигурации: набор прав на объекты (справочники, документы, регистры). Профиль группы доступа — это уже данные информационной базы, которые в типовых решениях ссылаются на роли. Права пользователя — итоговая комбинация всех его профилей и групп доступа.
Если задача звучит как «почему у Иванова нет доступа, а у Петрова есть», сравнивать нужно не роли напрямую, а профили этих пользователей через отчёт по правам. Если задача — «что изменилось в роли после обновления», нужно сравнение конфигураций до и после. Если — «чем роль "Менеджер" отличается от роли "Старший менеджер"», подойдёт сравнение метаданных или внешняя обработка.
Как выбрать способ сравнения
Сравнение прав пользователей через отчёт «Права доступа»
В типовых конфигурациях (Управление торговлей, ERP, Бухгалтерия предприятия, Зарплата и управление персоналом) встроен отчёт, который показывает права в разрезе пользователей, групп доступа и объектов метаданных. Он находится в разделе «Администрирование» → «Настройки пользователей и прав» → «Права доступа» (в некоторых конфигурациях путь может немного отличаться).
Чтобы сравнить двух пользователей, сформируйте отчёт с отбором по первому пользователю, затем по второму, и сопоставьте состав групп доступа и профилей. Часто отчёт позволяет вывести данные сразу по нескольким пользователям — тогда различия видны построчно. Обратите внимание на колонки с видом доступа: чтение, добавление, изменение, просмотр, редактирование — право на чтение не означает право на изменение.
Практический приём: если пользователи состоят в разных группах доступа, сначала сравните именно группы, а не объекты. Разница в одной группе доступа объясняет сразу пласт отличий в правах, и искать разницу по отдельным объектам метаданных не придётся.
Внешние обработки для сравнения ролей
Для прямого сравнения двух ролей внутри одной конфигурации сообществом разработаны внешние обработки: они строят таблицу «объект метаданных × право» для каждой роли и подсвечивают различия. Такие инструменты распространяются на профильных ресурсах для разработчиков 1С; типовой поставки с аналогичным инструментом «из коробки» для сравнения двух ролей нет.
Перед использованием внешней обработки проверьте её на тестовой базе: обработка должна только читать метаданные, а не изменять конфигурацию. Запускайте её под пользователем с правами администратора и убедитесь, что источник обработки надёжен — внешний код с правами администратора имеет полный доступ к данным базы.
Альтернатива без сторонних инструментов — программное сравнение встроенным языком: перебрать объекты метаданных и для каждого проверить права через функции ПравоДоступа() в контексте роли нельзя напрямую, но можно выгрузить роли в XML (через выгрузку конфигурации в файлы) и сравнить XML-файлы любым инструментом сравнения текстов.
Конфигуратор → Конфигурация → Выгрузить конфигурацию в файлы → в каталоге Roles/ появятся файлы вида ИмяРоли.xml, которые можно сравнить текстовым diff-инструментомСравнение ролей через выгрузку в XML
Выгрузка конфигурации в файлы — надёжный способ детального сравнения ролей без сторонних обработок. В конфигураторе выполните «Конфигурация» → «Выгрузить конфигурацию в файлы». В каталоге выгрузки каждая роль представлена отдельным XML-файлом в папке Roles, где права описаны в структурированном виде.
Дальше два XML-файла сравниваются любым инструментом различий: встроенным сравнением файлов в конфигураторе 1С («Файл» → «Сравнить файлы»), Notepad++ с плагином Compare, WinMerge или аналогом. Различия покажут конкретные объекты и права, которые отличаются между ролями.
Метод особенно удобен, когда нужно задокументировать различия или передать их коллеге: текстовый diff легко сохранить и приложить к задаче. Минус — XML роли содержит технические идентификаторы, и читать его сложнее, чем табличный отчёт.
Проверка результата и типичные ошибки
После сравнения и настройки прав обязательно проверьте результат тестовым входом. Войдите под пользователем (или попросите его войти) и выполните целевое действие: откройте документ, проведите его, сформируйте отчёт. Только фактическая проверка подтверждает, что права настроены как задумано — отчёты показывают назначенные права, но не всегда отражают влияние RLS и функциональных опций.
Типичная ошибка — сравнивать роли, когда проблема в профилях групп доступа. Пользователь может иметь «правильную» роль, но не входить в нужную группу доступа, и доступа у него не будет. Вторая ошибка — игнорировать RLS: право на чтение есть, но записи отфильтрованы ограничением на уровне записей, и пользователь видит пустой список. Третья — забыть, что изменения ролей в конфигураторе применяются только после обновления конфигурации базы данных и перезапуска сеанса пользователя.
FAQ: частые вопросы о сравнении ролей в 1С
Можно ли сравнить две роли штатными средствами без конфигуратора?
Напрямую «роль с ролью» в режиме предприятия сравнить нельзя — штатный отчёт «Права доступа» работает с пользователями и группами доступа. Для сравнения двух ролей как метаданных используйте конфигуратор (выгрузку в файлы и сравнение XML) или внешнюю обработку сравнения ролей.
Как узнать, какие роли есть у конкретного пользователя?
В типовых конфигурациях откройте карточку пользователя в разделе «Администрирование» и посмотрите его группы доступа и профили — профили ссылаются на роли. Также сформируйте отчёт «Права доступа» с отбором по этому пользователю: он покажет итоговые права по объектам. В файловой базе без БСП состав ролей виден в списке пользователей конфигуратора на закладке «Роли».
Почему у двух пользователей с одинаковыми ролями разные права на деле?
Наиболее частые причины: пользователи состоят в разных группах доступа, действуют ограничения доступа на уровне записей (RLS) по организациям или контрагентам, у одного из пользователей установлены индивидуальные настройки или он входит в группу с дополнительными профилями. Проверяйте не только роли, но и состав групп доступа и значения, разрешённые в настройках RLS.
Как найти, какая роль даёт конкретное право, например на проведение документа?
В конфигураторе откройте свойства документа, перейдите на закладку «Права» — там перечислены все роли и их права на этот объект. В типовой конфигурации удобнее сформировать отчёт «Права доступа» с отбором по объекту метаданных: он покажет, какие профили и группы доступа дают нужное право.
Изменения ролей в конфигураторе сразу действуют для пользователей?
Нет. Сначала нужно обновить конфигурацию базы данных (клавиша F7 в конфигураторе), а затем пользователь должен перезапустить сеанс — права загружаются при входе. Если после обновления права не изменились, первым делом проверьте, перезапустил ли пользователь программу.
Чем сравнение конфигураций отличается от сравнения ролей?
Сравнение конфигураций показывает различия между двумя версиями всей конфигурации (например, до и после обновления), включая роли как часть метаданных. Сравнение ролей — это анализ различий между двумя конкретными ролями по правам на объекты. Первое отвечает на вопрос «что изменилось в версии», второе — «чем отличаются права».
Что важно запомнить
Для сравнения прав пользователей используйте отчёт «Права доступа» в режиме предприятия, для анализа изменений после обновления — сравнение конфигураций в конфигураторе, для пары ролей — выгрузку в XML или внешнюю обработку. Учитывайте профили групп доступа и RLS: одинаковые роли не гарантируют одинаковых фактических прав. Результат всегда проверяйте тестовым входом под пользователем.