Администрирование · 11 мин
1С: как определить, на что не хватает прав
Как выяснить, каких прав не хватает пользователю в 1С: анализ ошибок доступа, журнал регистрации, роли, RLS и права на объекты. Пошаговая диагностика.
Сообщение «Нарушение прав доступа» или «У пользователя недостаточно прав на исполнение операции над базой данных» — одна из самых частых жалоб пользователей 1С. Проблема в том, что само сообщение часто не говорит, какого именно права не хватает: на документ, регистр, справочник, проведение, интерактивное удаление или на конкретное поле через механизм RLS. Чтобы не назначать права наугад и не выдавать лишнего, нужно системно определить объект, вид доступа и роль, которые вызвали отказ.
Диагностика строится на трёх источниках: тексте самой ошибки, журнале регистрации и анализе ролей пользователя в конфигураторе. В большинстве случаев этого достаточно, чтобы за 10–15 минут точно назвать недостающее право. Ниже — конкретные приёмы для типовых конфигураций (БП, УТ, ERP, ЗУП) и для самописных решений.
Читаем текст ошибки: что уже видно из сообщения
Платформа 1С формирует несколько характерных формулировок, и каждая указывает на свой тип проблемы. Сообщение «Нарушение прав доступа!» при открытии формы обычно означает отсутствие права «Просмотр» или «Чтение» на объект метаданных. Ошибка «У пользователя недостаточно прав на исполнение операции над базой данных» чаще возникает при записи или проведении — не хватает права «Добавление», «Изменение» или «Проведение».
Отдельный случай — когда документ открывается, но часть данных пустая или недоступна, либо список выглядит «обрезанным». Это признак срабатывания RLS (ограничение доступа на уровне записей): право на объект есть, но шаблон ограничения отсекает конкретные строки. Пользователь при этом может вообще не получать сообщения об ошибке, что затрудняет диагностику.
Полезно сразу зафиксировать: какое действие выполнял пользователь (открытие, запись, проведение, печать, отчёт), на каком объекте и под какой учётной записью. Эти три факта сокращают поиск в разы.
Проверить роли на объект метаданных: документ, справочник, регистр
Проверить права на сам объект и на регистры, которые он двигает
Проверить шаблоны ограничений и параметры сеанса (организация, склад, подразделение)
Проверить права на отчёт/обработку и на читаемые им таблицы
Журнал регистрации: главный инструмент диагностики
Журнал регистрации фиксирует события отказа в доступе с указанием объекта и вида права — это самый быстрый способ получить точный ответ. Откройте его в режиме предприятия: «Администрирование» → «Обслуживание» → «Журнал регистрации» (в типовых), либо через конфигуратор: «Администрирование» → «Журнал регистрации».
Настройте отбор: событие — «Доступ. Отказ в доступе» (в некоторых версиях — «Доступ. Отказ в доступе (запись)»), пользователь — проблемная учётная запись, период — момент возникновения ошибки. Попросите пользователя повторить действие, чтобы событие гарантированно попало в журнал, и обновите список.
В колонке «Данные» и в комментарии события будет указано, например: «Документ.РеализацияТоваровУслуг: право Проведение» или «РегистрНакопления.ТоварыНаСкладах: право Чтение». Это и есть искомый ответ — остаётся найти роль, которая предоставляет это право.
- 1Откройте журнал регистрации под учётной записью с правами администратора
- 2Установите отбор: событие «Доступ. Отказ в доступе», нужный пользователь, текущий период
- 3Попросите пользователя повторить действие, вызвавшее ошибку
- 4Обновите журнал и откройте новое событие — в комментарии указаны объект и вид права
- 5Запишите точное имя объекта метаданных и вид права для поиска роли
Поиск роли, которая даёт нужное право
Когда объект и вид права известны, откройте конфигуратор и найдите роль, предоставляющую это право. Самый быстрый способ — отчёт «Права доступа»: в конфигураторе меню «Администрирование» (или «Сервис» в зависимости от версии) → «Права доступа». Выберите объект метаданных, и отчёт покажет все роли, в которых установлено нужное право.
Альтернатива — полнотекстовый поиск по конфигурации или просмотр дерева ролей: откройте ветку «Общие» → «Роли», найдите роли по смыслу (например, «ДобавлениеИзменениеРеализаций») и проверьте их права на конкретный объект. В типовых конфигурациях роли обычно сгруппированы по принципу «чтение», «добавление/изменение», «полные права на раздел».
Важный нюанс: если ошибка возникла при проведении документа, права на сам документ может не хватать не только у него, но и у всех регистров, которые он двигает. Проверьте в журнале, какой именно объект указан в отказе, — часто это регистр, а не документ.
Частая ситуация: пользователю дали право на документ, но забыли про регистры. Документ проводится по 5–10 регистрам, и отказ по любому из них откатывает всю транзакцию. Всегда смотрите в журнале точное имя объекта, а не предполагайте, что проблема в документе.
Назначение прав: роли напрямую или профили групп доступа
В типовых конфигурациях на БСП (Библиотека стандартных подсистем) права назначаются не отдельными ролями, а через профили групп доступа: «Администрирование» → «Настройки пользователей и прав» → «Профили групп доступа». Найдите профиль, включающий нужную роль (по описанию разрешённых действий), и добавьте пользователя в соответствующую группу доступа.
Если ни один типовой профиль не подходит точно, создайте копию ближайшего профиля и скорректируйте состав ролей. Не редактируйте поставляемые профили «на месте» — при обновлении конфигурации изменения могут быть затёрты или привести к конфликтам.
В самописных конфигурациях без БСП роли назначаются пользователю напрямую в конфигураторе: «Администрирование» → «Пользователи» → вкладка «Прочие» (или «Роли»). После изменения состава ролей пользователю нужно перезайти в сеанс — права применяются при входе.
Диагностика RLS: когда права есть, а данных нет
Ограничение доступа на уровне записей работает незаметно: запрос просто не возвращает «запрещённые» строки. Признаки RLS-проблемы: пользователь видит не все документы в списке, отчёт у разных пользователей показывает разные суммы, в поле ввода не подбирается существующий элемент справочника.
Чтобы подтвердить догадку, временно проверьте то же действие под пользователем с полными правами на тех же данных. Если под полными правами записи видны, а под проблемным пользователем нет — срабатывает RLS. Дальше смотрите параметры ограничения: в типовых это обычно разрешенные организации, склады, подразделения, контрагенты или группы доступа, настраиваемые в карточке пользователя или групп доступа.
Технически шаблоны RLS хранятся в ролях на вкладке «Шаблоны ограничений» в конфигураторе. Там видно, по какому полю и параметру сеанса строится ограничение. Если параметр сеанса (например, «РазрешенныеОрганизации») для пользователя пуст, он не увидит ни одной записи — это частая причина «пропавших» данных у новых сотрудников.
Как проверить результат
Операция выполняется без сообщения о нарушении прав
Ошибка повторяется — в журнале новый отказ, смотрите следующий объект
Пользователь видит все нужные документы и записи
Часть данных скрыта — проверяйте RLS и параметры сеанса
Проведение проходит по всем регистрам
Отказ на одном из регистров — добавьте право на него
Выдана только нужная роль/профиль
Выданы полные права — пересмотрите состав
Типовые сценарии и частые ошибки
Ошибка при запуске внешней обработки или отчёта
Если обработка открывается через «Файл» → «Открыть», дополнительных прав на неё не нужно, но нужны права на данные, которые она читает. Если обработка подключена через «Дополнительные отчеты и обработки», проверьте права на сам справочник дополнительных отчетов и настройки быстрого доступа к команде.
Ошибка при обмене данными или фоновом задании
Фоновые задания и обмены выполняются под конкретным пользователем (указан в настройках задания или узла обмена). Отказ в доступе в этом случае виден в журнале регистрации под этой учётной записью — ищите события не под тем, кто нажал кнопку, а под служебным пользователем.
Ошибка только в тонком клиенте или веб-клиенте
Если под одним пользователем действие работает в толстом клиенте, но падает в тонком, проверьте, не используется ли в коде серверный вызов, требующий права, которого нет у роли, либо различия в составе ролей для разных клиентских приложений (редкий, но встречающийся случай в старых конфигурациях).
Если журнал не помогает: дополнительные приёмы
Иногда событие отказа не фиксируется (например, отказ происходит в привилегированном коде или настройки журнала отфильтровывают события). Проверьте настройку регистрации событий: в конфигураторе «Администрирование» → «Настройка журнала регистрации» — убедитесь, что регистрируются события доступа, или включите регистрацию всех событий на время диагностики.
Для сложных случаев полезен метод исключения: создайте копию проблемного пользователя, последовательно добавляйте ей роли и проверяйте, после какой роли ошибка исчезает. Это медленнее, но надёжно показывает минимально необходимый набор прав. В тестовой копии базы можно также временно включить для пользователя полные права и убедиться, что проблема именно в правах, а не в данных или коде.
Что важно запомнить
Не угадывайте права — смотрите журнал регистрации с отбором по событию «Отказ в доступе»: там указаны объект и вид права. Найдите роль через отчёт «Права доступа», назначьте её через профиль группы доступа, проверьте RLS, если данные «исчезают» без ошибок, и никогда не решайте проблему выдачей полных прав.
Частые вопросы
Почему пользователь видит документ в списке, но не может его открыть?
На формирование списка достаточно права «Чтение» на уровне запроса, а для открытия формы может требоваться право «Просмотр» или доступ к связанным объектам, которые форма читает при открытии. Проверьте журнал регистрации в момент открытия — там будет указан конкретный объект отказа.
Ошибка «Нарушение прав доступа» появляется только у одного пользователя из группы. Почему?
Скорее всего, у остальных пользователей есть дополнительная роль или членство в другой группе доступа, которой нет у проблемного. Сравните состав профилей и групп доступа обоих пользователей, а также индивидуальные настройки RLS (разрешённые организации, склады).
Нужно ли перезапускать сеанс после изменения прав?
Да. Состав ролей применяется при установке соединения с базой. После изменения ролей или профилей пользователь должен выйти из программы и войти заново, иначе будет работать со старым набором прав.
Как узнать, какие права нужны для проведения конкретного документа?
Откройте документ в конфигураторе и посмотрите список регистров, по которым он делает движения (свойство «Движения»). Пользователю нужны права на изменение самого документа, право «Проведение» и права «Изменение» на все связанные регистры. Точный недостающий объект покажет журнал регистрации.
Отчёт показывает разные данные у разных пользователей — это права?
Не обязательно «нехватка» прав: чаще это RLS, который отсекает строки по разрешённым значениям (организациям, складам). Если у пользователя нет права «Чтение» на объект совсем, отчёт выдаст ошибку; если есть, но работает RLS — отчёт просто покажет меньше данных без сообщений.
Можно ли посмотреть все права пользователя одним списком?
Да, в конфигураторе отчёт «Права доступа» можно построить по пользователю: он покажет все объекты и виды прав, доступные через его роли. В типовых конфигурациях состав разрешённых действий также виден в карточке профиля группы доступа.