При работе в сложных конфигурациях, таких как 1С:ERP Управление предприятием 2.5, программисты и администраторы часто сталкиваются с ситуацией, когда пользователь с профилем «Руководитель отдела» или аналогичным не может сохранить или провести документ (например, Реализация товаров и услуг). При этом внешне все права на чтение и изменение документа в профиле установлены. Рассмотрим подробно, почему возникает ошибка «Недостаточно прав на исполнение операции над базой данных» и как ее эффективно диагностировать.
В современных версиях ERP механизм прав доступа значительно усложнен по сравнению с ранними версиями 1С:Предприятия. Ошибка при записи объекта обычно означает одно из трех:
Проанализируем ситуацию по шагам, чтобы выявить «узкое место» в настройках прав.
Первое, что мы должны сделать — это правильно настроить фильтр в Журнале регистрации. Обычный просмотр ошибок в ЖР может не дать результата, так как платформа часто фиксирует событие отказа в доступе как отдельную категорию.
Рассмотрим порядок действий:
Если в ЖР зафиксировано событие отказа, система прямо укажет на объект метаданных (например, РегистрСведений.КлючиДоступаКОбъектам или Справочник.СоглашенияСКлиентами), к которому не хватило прав.
Разберем ситуацию, когда документ РеализацияТоваровУслуг открывается, редактируется, но не записывается. В ERP 2.5 при записи документа происходит обращение к множеству связанных объектов. Проверим наличие следующих ролей и прав:
Базовые права БСП или Базовые права интернет-поддержки. Без них могут не отрабатывать общие модули при проверке функциональных опций.КлючиДоступаКОбъектам, система заблокирует запись.ДоговорыКонтрагентов, Склады и Подразделения. Часто ошибка возникает из-за того, что в профиле группы доступа ограничено «Подразделение», а в документе выбрано то, на которое нет прав.Если Журнал регистрации молчит, нам поможет Отладчик. Это наиболее точный метод, позволяющий поймать исключение в момент возникновения.
Выполним следующие действия:
Отладка -> Настройка остановки по ошибке и установим флажок «Останавливаться по ошибке».Когда отладчик остановится, мы увидим конкретную строку кода. Скорее всего, это будет метод Форма.Записать() или ЭтотОбъект.Записать(). Проанализируем стек вызовов. Если ошибка происходит внутри процедуры ПередЗаписью или ПриЗаписи, мы сможем увидеть, к какому именно регистру или справочнику идет обращение.
В ERP 2.5 реализован производительный режим RLS. Посмотрим на нюанс: права могут быть даны на документ, но Группы доступа могут ограничивать значения. Если пользователь пытается провести реализацию по «Организации А», а в его группе доступа разрешена только «Организация Б», он получит именно такую ошибку.
Выясним причину через проверку ограничений:
Администрирование -> Настройки пользователей и прав -> Группы доступа.Документ Реализация товаров и услуг при проведении делает записи в десятки регистров. Ошибка может возникать не из-за самого документа, а из-за отсутствия права на Добавление в один из регистров накопления:
ВыручкаИСебестоимостьПродажРасчетыСКлиентамиТоварыОрганизацийНДСПредъявленныйЕсли вы создаете индивидуальный профиль, проверьте, чтобы роль включала в себя права на запись во все регистры, являющиеся регистрами-приемниками для данного документа.
Если время поджимает и нужно быстро восстановить работоспособность пользователя, воспользуемся проверенным методом сравнения:
Менеджер по продажам или Ответственный за ведение продаж.Помните, что после изменения прав в ERP 2.5 может потребоваться время на обновление ключей доступа. Для принудительного обновления можно запустить регламентное задание «Заполнение данных для ограничения доступа».