К статье
Практический материал

Администрирование · 9 мин

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

Разбираем ошибку «Нарушение прав доступа» в 1С: причины, проверка ролей, настройка RLS, действия администратора и типичные ошибки при исправлении.

Ошибка «Нарушение прав доступа» в 1С появляется, когда пользователь пытается открыть объект, провести документ, изменить данные или запустить обработку, на которую у его учётной записи нет соответствующих полномочий. Платформа блокирует действие на уровне ролей, и сообщение обычно указывает, какого права не хватает: чтения, добавления, изменения или интерактивного удаления конкретного объекта.

Проблема почти никогда не связана с технической неисправностью программы. В большинстве случаев причина — в настройке ролей, составе профилей групп доступа, ограничениях записей (RLS) или в том, что пользователь работает под чужой либо устаревшей учётной записью. Реже виноваты доработки конфигурации, в которых права проверяются программно.

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

Как понять, какого права не хватает

Первый шаг — внимательно прочитать текст сообщения. 1С обычно пишет его в формате: «Нарушение прав доступа! Пользователю недостаточно прав на исполнение операции над базой данных» либо с уточнением объекта: «Недостаточно прав для просмотра справочника "Контрагенты"». Если объект не указан, включите технологический журнал или посмотрите журнал регистрации: там фиксируется событие «Доступ. Отказ в доступе» с указанием пользователя и объекта метаданных.

Обратите внимание на момент возникновения ошибки. Если она появляется при открытии формы — не хватает права «Чтение» или «Просмотр». Если при записи документа — права «Изменение» или «Проведение». Если при попытке удалить — права «Интерактивное удаление». Ошибка при запуске отчёта или обработки указывает на отсутствие права «Использование».

Ошибка при открытии списка или карточкиНет права «Чтение» / «Просмотр»

Проверьте роли на чтение этого объекта метаданных

Ошибка при записи или проведенииНет права «Изменение» / «Проведение»

Проверьте роли на изменение и возможные проверки в коде

Ошибка только у части документов или контрагентовСрабатывает RLS — ограничение на уровне записей

Проверьте группы доступа и значения параметров ограничения

Ошибка у всех пользователей после обновленияИзменился состав ролей в новой версии конфигурации

Сверьте профили групп доступа с типовыми

Проверка ролей и профилей групп доступа

В типовых конфигурациях (БП, УТ, ERP, ЗУП) права назначаются не напрямую, а через профили групп доступа. Откройте раздел «Администрирование» → «Настройки прав и пользователей» → «Профили групп доступа» и найдите профиль, который включает нужное право. Удобный способ — отчёт «Права доступа» (или «Анализ прав доступа», в зависимости от конфигурации): он показывает, какие роли есть у конкретного пользователя и каких не хватает.

Если профиль с нужным правом существует, добавьте пользователя в соответствующую группу доступа: «Группы доступа» → выбор группы → вкладка «Участники». После этого попросите пользователя перезайти в программу — состав прав подхватывается при новом сеансе, в текущем сеансе изменения могут не примениться.

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

Ограничения на уровне записей (RLS)

Отдельный и самый коварный случай — когда права на объект есть, но ошибка или «пустые» списки возникают для части данных. Это работает механизм RLS (Record Level Security): доступ ограничивается конкретными организациями, складами, контрагентами или подразделениями. Пользователь видит только те записи, которые разрешены настройками его группы доступа.

Диагностика: откройте группу доступа пользователя и проверьте вкладку «Ограничение доступа» — какие виды доступа включены и какие значения разрешены. Например, если разрешена только организация «А», а пользователь открывает документ организации «Б», он получит либо ошибку, либо пустую форму. Исправление — добавить нужное значение в список разрешённых или пересмотреть саму модель ограничений.

Если конфигурация доработана

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

Ещё один источник проблем — привилегированный режим. Если код должен выполняться от имени системы (например, регламентное задание), он должен быть обёрнут в УстановитьПривилегированныйРежим(Истина). Без этого регламентное задание «падает» с ошибкой прав, хотя у пользователя-владельца задания всё настроено корректно. Такие правки должен делать разработчик с тестированием на копии базы.

bsl
УстановитьПривилегированныйРежим(Истина);
// ... операции с данными без проверки прав ...
УстановитьПривилегированныйРежим(Ложь);

Ошибка после обновления конфигурации

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

Проверьте также, не включён ли режим совместимости, влияющий на проверку прав, и не остались ли в базе «осиротевшие» пользователи, чьи группы доступа были удалены. В файловых базах дополнительно убедитесь, что у пользователя операционной системы есть права на каталог базы — ошибка доступа к файлу иногда маскируется под ошибку прав 1С.

Маршрут решения

Как выбрать действие

Ошибка у одного пользователя, у остальных всё работаетСверьте его группы доступа и профили с коллегой на аналогичной должности
Ошибка у всех после обновленияОбновите профили групп доступа по описаниям поставщика конфигурации
Ошибка только для части документов или контрагентовПроверяйте настройки RLS и разрешённые значения в группе доступа
Ошибка в регламентном задании или обменеПроверьте права пользователя, от имени которого выполняется задание, и привилегированный режим в коде

Проверка результата и типичные ошибки

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

Типичные ошибки
01
Выдача роли «Администратор» или «Полные права» вместо точечного профиля — нарушает разграничение доступа и аудит
02
Изменение типовых профилей вместо создания копии — при следующем обновлении настройки перезапишутся
03
Забытый перезаход пользователя — права применяются при новом сеансе, и кажется, что исправление не сработало
04
Исправление только на рабочей базе без проверки на копии — ошибка в RLS может скрыть данные у целого отдела
Контрольные точки

Как проверить результат

Выполнение операции под учётной записью пользователя
Норма

Документ открывается, записывается и проводится без сообщений

Тревожный признак

Ошибка сохраняется или появилась на соседней операции

Состав прав в отчёте «Анализ прав доступа»
Норма

Присутствуют только роли, соответствующие должности

Тревожный признак

Есть полные права или лишние профили

Видимость данных в списках
Норма

Пользователь видит все разрешённые ему записи

Тревожный признак

Списки пустые или часть записей пропала — проверяйте RLS

Часто задаваемые вопросы

Можно ли исправить ошибку без прав администратора?

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

Почему ошибка появляется у одного пользователя, а у коллеги на той же должности — нет?

Скорее всего, они состоят в разных группах доступа или у них различаются разрешённые значения RLS (организации, склады, подразделения). Сравните их группы доступа и профили через отчёт по правам — различие найдётся почти всегда.

Опасно ли выдавать полные права временно?

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

Ошибка возникает в регламентном задании, хотя вручную всё работает. Что делать?

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

Может ли ошибка прав быть связана с файловой системой, а не с 1С?

Да, в файловом варианте. Если у пользователя ОС нет прав на запись в каталог базы или каталог временных файлов, сообщения об ошибках доступа могут выглядеть похоже. Проверьте NTFS-права на папку базы и сетевого ресурса, где она расположена.

Итог

Что важно запомнить

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