Решение задач 1С:Предприятие 8 на примерах

«Нарушение прав доступа» в 1С: причины и как исправить

Ошибки 1СПрава доступаОпубликовано

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

Текст ошибки

Нарушение прав доступа!

Причины

Для пользователя

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

Для администратора

Типовые конфигурации на БСП

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

Нетиповые конфигурации

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

Как быстро найти, какого права не хватает

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

Для разработчика

Перед обращением к данным проверяйте право, чтобы показать понятное сообщение:

Если Не ПравоДоступа("Изменение", Метаданные.Документы.РеализацияТоваров) Тогда
    ВызватьИсключение "Недостаточно прав для изменения документа";
КонецЕсли;

Если служебному коду нужно прочитать данные, которые пользователю не видны (например, настройки или служебный регистр), используйте привилегированный режим на сервере и включайте его на минимальный участок:

УстановитьПривилегированныйРежим(Истина);
Настройки = РегистрыСведений.НастройкиОбмена.Получить(Новый Структура("Узел", Узел));
УстановитьПривилегированныйРежим(Ложь);

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

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

Почему у пользователя с ролью «Полные права» ошибки нет, а у остальных есть?

Роль полных прав даёт доступ ко всему без ограничений на уровне записей. У остальных пользователей не хватает конкретного права или действует ограничение по организации, складу и другим значениям.

Ошибка появилась после обновления. Что делать?

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

Не устанавливается новая роль для пользователя в УТ 11.3

УТ 11.3

Почему новая роль, добавленная в конфигурацию УТ 11.3, не применяется к пользователю через профиль групп доступа, и как это исправить, обновив параметры работы пользователей.

Как создать нового пользователя в 1С УТ 11.3

УТ 11.3

Пошагово: как завести нового пользователя в УТ 11.3 и выдать ему права — через профиль групп доступа, группу доступа и справочник «Пользователи», без работы в конфигураторе.

БСП 1С: Библиотека стандартных подсистем для разработчика

БСП 2.3

Разбор Библиотеки стандартных подсистем 1С с точки зрения разработчика: состав, определение версии, самые полезные функции общих модулей с примерами кода и порядок внедрения БСП в собственную конфигурацию.

Похожие ошибки