Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
13 дек 2024, 19:26

Нарушение прав доступа или глюк платформы?

Автор sokotovgle, 11 июл 2014, 12:20

0 Пользователей и 1 гость просматривают эту тему.

sokotovgle


При попытке удалить элемент справочника выскакивает Исключение "Нарушение прав доступа".
У пользователя под которым это происходит одна роль. Этой роли разрешено все на данный справочник. Если делать то же самое от пользователя с полными правами то прокатывает.

Выход из данной ситуации я нашел вынеся процедуру удаления в Привилегированный модуль. Но неприятный осадок остался и хочется знать, сталкивался ли еще кто-либо кроме меня с такой же ситуацией?

Данный код у меня генерирует "Исключение Нарушение прав доступа!"
   //ЭлСпрССы - Ссылка на элемент справочника
    //ЭлСпрМета - Метаданные элемента справочника
   
   
    ЭлСпрССы= Справочники.Приложения.НайтиПоКоду("000009400");
    ЭлСпрМета=ЭлСпрССы.Метаданные();
    Если ЭлСпрССы <>Справочники.Приложения.ПустаяСсылка() Тогда
        Если ПравоДоступа("Удаление",ЭлСпрМета) И  ПравоДоступа("ИнтерактивноеУдаление",ЭлСпрМета) И ПравоДоступа("ИнтерактивнаяПометкаУдаления",ЭлСпрМета) И   ПравоДоступа("ИнтерактивноеСнятиеПометкиУдаления",ЭлСпрМета) Тогда //Разрешения есть
//Если до сюда дошло то должно железно удалить
            ЭлСпрССы.ПолучитьОбъект().Удалить();// генерирует ошибку "Нарушение прав доступа!"
        Иначе
            Сообщить("Не хватает прав для удаления элемента справочника");
        КонецЕсли;
    Иначе
        Сообщить ("Элемент справочника не найден");
    КонецЕсли;






wise

может, ЧТО-НИБУДЬ в модуле объекта ПередУдалением, делает..?
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

sokotovgle

Подписка на событие приУдалении элемента этого справочника действительно есть. Но отладчиком сам проходился по той процедуре и ставил "Остановку по ошибке" - исключение выскакивает после выполнения процедуры приУдалении. Параметр Отказ не меняется = Ложь и Источник не затрагивается.

Логи показывают такое: Регистр сведений. Объекты информационных баз Право: Изменение Доступ. Отказ в доступе.

Еще подозрения вызывает появление ошибки "Ошибка времени исполнения" при исполнении процедуры удаления. Выскакивает после события приУдалении.
Такая последовательность:
1.ПриУдалении(Источник,Отказ)//Отказ=Ложь
2.Возникновение ошибки  "Ошибка времени исполнения"
3.Возникновение ошибки "Нарушение прав доступа"

Похожие темы (5)

Рейтинг@Mail.ru

Поиск