Имя: Пароль:
1C
 
Работа с ХранилищеОбщихНастроек
0 Fuas4
 
20.11.17
14:16
Добрый день! УТ 11.3 В расширении хочу дать право админу менять некие настройки других пользователей.
Как делаю:
ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройки,,Пользователь);
Пользователь - это реквизит на форме, где можно выбрать других пользователей
Особенность в том, что не админ, не имеющий роли "Администрирование данных" может загружать и сохранять только свои настройки.
Т.е. даже если у неполных прав в реквизите "Пользователь" я укажу текущего пользователя, приведенная выше строка все равно выдаст ошибку, поэтому под простыми пользователями приходится сохранять так:
ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройки)
Проблема в том, что если пользователь "Вася" Сохранил настройки под собой, то если я сохраню настройки под админом ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройки,,"Вася"); то это будут разные настройки, и когда Вася будет загружать настройки, загрузятся те, что он сохранил, а не админ.
Проблема решается привелигерованным режимом, но я не хочу в расширении снимать "Безопасный режим".
Вопрос: как правильно сохранять настройки другого пользователя?
З.Ы. в СП написано, что пользователь - это строка, но что бы ятуда не передавал - ни ссылку, ни строку (Ссылка.Наименование) - это не помогает
1 Cyberhawk
 
20.11.17
14:21
То не хочешь, другое не можешь...
2 Fuas4
 
20.11.17
14:22
(1) Судя по СП, это должно корректно работать в заданных мной условиях. Полагаю, я передаю какое-то не то имя пользователя, которое передается по умолчанию. Вот спрашиваю мудрых советов
3 Cyberhawk
 
20.11.17
14:23
(2) Так ты посмотри в "пользователь "Вася" Сохранил настройки под собой", какое там имя
4 Chikko
 
20.11.17
14:25
Не очень понял что хочешь, но вроде так: везде (в сохранении и загрузке) ставить произвольную строку типа "ЭтоМойОбщийПользователь".
5 Chikko
 
20.11.17
14:25
(4) в параметр "пользователь", соответственно
6 Fuas4
 
20.11.17
14:26
(3) попробую черезПОлучитьСписок, чет не подумал об этом
(4) надо настройки каждого юзера отдельно хранить
7 Fuas4
 
20.11.17
14:30
(3) ПолучитьСписок не возвращает имя пользователя. Тупо список значений с настройками
8 Fuas4
 
20.11.17
14:35
Однако, я нашел. Функция ИмяПользователя() возвращает нужное имя Васи. Это его название вот тут: http://prntscr.com/hct5n4
Всем спасибо!)
9 Cyberhawk
 
20.11.17
14:41
Ну кагбэ логично, т.к. никакого другого имени в общем случае и нет
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан