Ошибка при установке значения атрибута контекста нарушение прав доступа

Содержание:

1.       Ошибка при установке значения атрибута контекста

2.       Ошибка при получении значения атрибута контекста

Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.  

1.    Ошибка при установке значения атрибута контекста

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

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

2.    Ошибка при получении значения атрибута контекста

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

При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).  

Специалист компании «Кодерлайн»

Александр Суворов

У пользователя часть прав отобрана — если установить полные — то все нормально

ошибк при ограничении прав — при запуске программы происходит.

{ОбщийМодуль.ОбщегоНазначения.Модуль(3347)}: Ошибка при установке значения атрибута контекста (ОбщиеЗначения)

   МенеджерЗаписи.Записать(Истина);

по причине:

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

отладчик показал, что вылетает в этой точке ПараметрыСеанса.ОбщиеЗначения = Новый ХранилищеЗначения(КэшНаСервере);

в этой процедуре.

Процедура УстановитьЗначениеПеременной(ИмяПараметра, Кэш, ЗначениеПараметра, ОбновлятьВоВсехКэшах = Ложь) Экспорт

   
   Если Кэш = Неопределено Тогда

       // Кэш не был проинициализирован

       Кэш = Новый Структура;

   КонецЕсли;

   
   Если Кэш.Свойство(ИмяПараметра) Тогда

       Кэш.Вставить(ИмяПараметра, ЗначениеПараметра);

   КонецЕсли;

   
   #Если Клиент ИЛИ ВнешнееСоединение Тогда

       Если ОбновлятьВоВсехКэшах Тогда

           КэшНаСервере = ПараметрыСеанса.ОбщиеЗначения.Получить();

           КэшНаСервере.Вставить(ИмяПараметра, ЗначениеПараметра);

           ПараметрыСеанса.ОбщиеЗначения = Новый ХранилищеЗначения(КэшНаСервере);

       КонецЕсли;

   #КонецЕсли

   
КонецПроцедуры

Права на регистры сведений НастройкаПользователей даны…

подскажите

 

Андрей Павлов

Заглянувший

Сообщений: 13
Авторитет:

0

Регистрация: 24.09.2014

При тестировании обработки столкнулись с ошибкой  «Нарушение прав доступа». Ошибка чаще всего возникает при использовании обработки в первые 15 минут после запуска клиента (тонкий/толстый).  
Обработка на основании даты регистрации партнера создает событие (звонок) и задачу к нему, исключение выпадает при попытке записи задачи созданной на основании события.
Тестирование выполнял на учетной записи с профилем стандартной роли «Менеджер по продажам»+ Mobile monitor. Под данной учетной записью в интерактивном режиме без проблем создавались как события так и задачи.
Версия:   1C:CRM, редакция 2.0 (2.0.8.4)
Сообщение ошибки:

по причине:
Ошибка при выполнении обработчика — ‘ПередЗаписью’
по причине:
{ОбщийМодуль.ОбновлениеИнформационнойБазы.Модуль(20)}: Ошибка при получении значения атрибута контекста (ПараметрыКлиентаНаСервере)

по причине:
Нарушение прав доступа!
{ОбщийМодуль.ОбновлениеИнформационнойБазы.Модуль(20)}: Ошибка при получении значения атрибута контекста (ПараметрыКлиентаНаСервере)
ПараметрЗапускаКлиента = ПараметрыСеанса.ПараметрыКлиентаНаСервере.Получить(«ПараметрЗапуска»);
по причине:
Нарушение прав доступа!
Нарушение прав доступа!

 

Добрый день!
В какой момент появляется ошибка и если есть возможность пришлите обработку, которой Вы пользуетесь.

 

Андрей Павлов

Заглянувший

Сообщений: 13
Авторитет:

0

Регистрация: 24.09.2014

Добрый день!
Как вы просили, выкладываю файл с обработкой.

 

Мария Измайлова

Посетитель

Сообщений: 1178
Авторитет:

135

Регистрация: 09.11.2012

#4



0


01.10.2014 11:22:47

Цитата
Андрей Павлов пишет:
Добрый день!
Как вы просили, выкладываю файл с обработкой.

Спасибо.Передала разработчику.  Еще уточнение-Вы её запускаете под полными правами или нет?  Открываете через Главное меню-Файл-Открыть?

 

Андрей Павлов

Заглянувший

Сообщений: 13
Авторитет:

0

Регистрация: 24.09.2014

Обработку загружаю в базу как внешнюю, и пользователи запускают ее через свой интерфейс.
у пользователей права с шаблона «менеджер по продажам»

 

Мария Измайлова

Посетитель

Сообщений: 1178
Авторитет:

135

Регистрация: 09.11.2012

#6



0


01.10.2014 11:44:55

Цитата
Андрей Павлов пишет:
Обработку загружаю в базу как внешнюю, и пользователи запускают ее через свой интерфейс.
у пользователей права с шаблона «менеджер по продажам»

Передам разработчику. Если есть возможность обновитесь до релиза 2.0.8.6 и проверьте  в нём тоже.

 

Разработчик просил уточнить знаете ли Вы почему в обработке идет обращение к Обновлению в информационной базе? Вы писали обработку? Т.к. самая вероятная причина-это то,что у менеджера нет прав на выполнение обновления информационной базы, это право есть только у Администратора.

 

Андрей Павлов

Заглянувший

Сообщений: 13
Авторитет:

0

Регистрация: 24.09.2014

В обработке вообще нет обращений к модулям конфигурации, Единственное что делает обработка так это создает документ событие(звонок) и на его основании задание (личное). При записи задания и выскакивает ошибка с правами. В коде обработки я комментарий метку оставил.

 

Мария Измайлова

Посетитель

Сообщений: 1178
Авторитет:

135

Регистрация: 09.11.2012

#9



0


01.10.2014 13:20:13

Цитата
Андрей Павлов пишет:
В обработке вообще нет обращений к модулям конфигурации, Единственное что делает обработка так это создает документ событие(звонок) и на его основании задание (личное). При записи задания и выскакивает ошибка с правами. В коде обработки я комментарий метку оставил.

Хорошо, спасибо за ответ. Передам разработчику.

Изменено: Мария Измайлова01.10.2014 13:20:32

 

Андрей Павлов

Заглянувший

Сообщений: 13
Авторитет:

0

Регистрация: 24.09.2014

#10



0


08.10.2014 08:39:52

Мария, вы можете сообщить хотя бы примерные сроки решение проблемы?

 

Мария Измайлова

Посетитель

Сообщений: 1178
Авторитет:

135

Регистрация: 09.11.2012

#11



0


08.10.2014 10:13:10

Цитата
Андрей Павлов пишет:
Мария, вы можете сообщить хотя бы примерные сроки решение проблемы?

Добрый день!
Разработчик был очень занят, но сейчас занимается только Вашим вопросом. Как будет результат сразу Вам отпишется.

 

#12



0


08.10.2014 11:25:01

Ответ разработчика: ошибка не воспроизводится , необходима копия Вашей базы (файл .dt). Вышлите письмо на crm@rarus.ru с пометкой для Хотлайн, передать Кучерову Андрею ( в письме указываете ссылку на тему в форуме, а также ссылку на скачивание базы и данные для входа под тем пользователем,под которым появляется ошибка).

 

Андрей Павлов

Заглянувший

Сообщений: 13
Авторитет:

0

Регистрация: 24.09.2014

#13



0


08.10.2014 15:14:00

Я сомневаюсь что начальство даст разрешение отправить базу в 7 GB со всеми нашими данными.
Возможно ли решение проблемы без отсылки базы7

 

Наталья Полубенская

Посетитель

Сообщений: 698
Авторитет:

85

Регистрация: 30.01.2014

#14



0


09.10.2014 20:49:22

Добрый день, Андрей!

Цитата
Андрей Павлов пишет:
Я сомневаюсь что начальство даст разрешение отправить базу в 7 GB со всеми нашими данными.
Возможно ли решение проблемы без отсылки базы7

Мы бы рекомендовали Вам обратиться к разработчику данной внешней обработки. Или написать письмо на линию консультаций crm@raus.ru с описанием Вашей проблемы и ссылкой на ветку форума.

 

Андрей Павлов

Заглянувший

Сообщений: 13
Авторитет:

0

Регистрация: 24.09.2014

#15



0


13.10.2014 09:54:16

Добрый день, Наталья!

Разработчиком данной обработки являюсь я.
А в чем разница обращения через форум или почту?

 

Алексей Чаплыгин

Посетитель

Сообщений: 1018
Авторитет:

155

Регистрация: 19.02.2010

#16



0


13.10.2014 10:05:43

Добрый день, Андрей!

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

Спасибо за понимание!

Автор DeSjeT, 16 июн 2011, 11:31

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

Ситуация следующая. Я создал новую роль, которую написал в общем модуле
«Если НЕ РольДоступна(«ПолныеПрава») И НЕ РольДоступна(«Бухгалтер») И НЕ РольДоступна(«Просмотр») Тогда», потом в справочнике добавил вместе с основной ролью, убираю основную, оставляю только добавленную роль и выходит следующая ошибка:
«{МодульОбычногоПриложения(841)}: Ошибка при установке значения атрибута контекста (НКО_Лицензия)
по причине:
{МодульОбычногоПриложения(841)}: Ошибка при установке значения атрибута контекста (НКО_Лицензия)

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

  <_<


строчку кода в студию….

===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали «А ну ка повтори»
===================================


//((НКО
ПараметрыСеанса.НКО_Лицензия = «»;
//НКО))


Получил помощь — скажи СПАСИБО.
Разобрался сам — расскажи другим.


Спасибо, я действительно забыл их поставить, хотя был уверен что все выставил :) Невнимательность… *facepalm*


Показывать по
10
20
40
сообщений

Новая тема

Ответить

Y-u-r-o-n

Дата регистрации: 30.04.2010
Сообщений: 3

«При создании пользователя с ограниченными правами возникает такая вот ошибка<br><br>{МодульПриложения(52)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь): Нарушение прав доступа!<br>глТекущийПользователь = ПараметрыСеанса.ТекущийПользователь;<br>по причине:<br>Нарушение прав доступа!<br><br>Пользователь имеет право редактировать один документ и добавлять данные в один справочник. Эти галки в разделе Роли я поставил. Точнее поставил только эти. Может нужно какой-н. флажок поставить еще?<br><br>Подскажите куда копать?<br><br>До этого создавал Администратора с полным доступом, он создался, правда с проблемами, но в конце концов создался.<br><br>Спасибо.»

Денис (САМАРА)

Дата регистрации: 09.04.2008
Сообщений: 8351

Может назначить ему роль «Пользователь» в пару к вашей новой роли?

ShirA84

Дата регистрации: 02.12.2009
Сообщений: 340

Такое ощущение как будто у пользователя который пытается создать нового пользователя прав на создание новых пользователей нет)))

Y-u-r-o-n

Дата регистрации: 30.04.2010
Сообщений: 3

Спасибо. Скопировал «Пользователя» переименовал на «Менеджера». Ошибка исчезла.<br>Вот еще. http://www.buh.ru/forum/thread.jsp?id=456019 . Кто может сказать по сабжу?

Y-u-r-o-n

Дата регистрации: 30.04.2010
Сообщений: 3

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

Показывать по
10
20
40
сообщений

Читают тему:

Понравилась статья? Поделить с друзьями:
  • Ошибка при установке значения атрибута контекста наименование
  • Ошибка при установке значения атрибута контекста крнаимстрпр
  • Ошибка при установке значения атрибута контекста картинка несоответствие типов
  • Ошибка при установке значения атрибута контекста картинка значений
  • Ошибка при установке значения атрибута контекста имя