Имя: Пароль:
1C
1С v8
РЛС
0 CyberDream
 
23.12.13
15:26
Есть справочник контрагентов. На него прикручен РЛС по группе доступа контрагентов. РЛС настроены следующим образом:

ПрочиеПоля                                    - шаблон по группе доступа
Ссылка, НаименованиеПолное, Код, Наименование - ГДЕ ИСТИНА

когда пользователь выбирает не своего контрагента вываливается ошибка:

{Документ.ПриходныйКассовыйОрдер.МодульОбъекта(1706)}: Ошибка при получении значения атрибута контекста (НаименованиеПолное)
            ПринятоОт = ?(Контрагент.НаименованиеПолное="", Контрагент.Наименование, Контрагент.НаименованиеПолное);
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.


Я же дал доступ на поле НаименованиеПолное и на Ссылка !!! Что я делаю не так???
1 CyberDream
 
23.12.13
15:29
+(0) что прикольно... В отладчике ссылка читается
остальные поля ничетаемы
2 CyberDream
 
23.12.13
15:30
ап
3 CyberDream
 
23.12.13
15:33
хе... нихто не знает? вот и я не знаю...
4 Sa6nek6
 
23.12.13
15:34
даа.. беда
5 Sa6nek6
 
23.12.13
15:55
что ты делаешь не пойму
6 Uncas_man
 
23.12.13
15:59
(0) Когда во встроенном языке происходит обращение к реквизиту объекта через точку (как в вашем случае), то из базы считывается весь объект целиком, а на весь объект у вас нет прав, соответственно, система и ругается.
7 CyberDream
 
23.12.13
16:03
(6) жаль
8 Uncas_man
 
23.12.13
16:09
(7) Если требуется получить эти реквизиты, то необходимо использовать запрос, в котором выбрать только эти два поля. Затем через выборку запроса получить значения этих полей. Т,е. будет что-то вроде этого.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
                   Контрагенты.Наименование,
                   Контрагенты.НаименованиеПолное
                ГДЕ
                   Контрагенты.Ссылка = &ПарСсылка";
Запрос.УстановитьПараметр("ПарСсылка", Контрагент);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();

И вот далее можете получать значения этих реквизитов через объект выборки (Выборка.Наименование или Выборка.НаименованиеПолное).
2 + 2 = 3.9999999999999999999999999999999...