|
Помогите разобраться с обработкой | ☑ | ||
---|---|---|---|---|
0
ikbokov
03.06.14
✎
14:03
|
Недавно начал осваивать 1с.
Проблема такая: в УПП хочу всем пользователям в настройках проставить галочку "Запретить открытие нескольких сеансов" Помогите разобраться, что не так написал, или что написал так?) Выдает ошибку: {ОбщийМодуль.УправлениеПользователями.Модуль(605)}: Ошибка при вызове метода контекста (Записать) МенеджерЗаписи.Записать(); по причине: Запись не верна! Значение поля "Пользователь" не может быть пустым!: НастройкиПользователей: , Запретить открытие нескольких сеансов (Регистр сведений: Настройки пользователей) Вот код обработки: Процедура КнопкаВыполнитьНажатие(Кнопка) СписокПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); Для Каждого Пользователь из СписокПольЗователей цикл ТекПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(Пользователь.Имя); Если ТекПользователь.ПоказыватьВСпискеВыбора = Истина Тогда УправлениеПользователями.УстановитьЗначениеПоУмолчанию(Пользователь, "ЗапретитьОткрытиеНесколькихСеансов", Истина); //Сообщить (ТекПользователь.Имя); Сообщить (УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь.Имя, "ЗапретитьОткрытиеНесколькихСеансов")); КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
1
Рэйв
03.06.14
✎
14:06
|
>>ТекПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(Пользователь.Имя);
Это зачем? У тебя же есть Пользователь уже:-) Из Для Каждого Пользователь из СписокПольЗователей цикл |
|||
2
Рэйв
03.06.14
✎
14:08
|
Не в курсах что там у тебя в УправлениеПользователями.УстановитьЗначениеПоУмолчанию), но мне кажется там надо работать со справочником "Пользователи"
|
|||
3
Поpyчик-4
03.06.14
✎
14:09
|
(0) Пользователь, которого вы передаёте в процедуру УстановитьЗначениеПоУмолчанию, не тот пользователь, которого ожидает процедура.
(2) Не кажется, а точно надо работать со справочником "Пользователи". |
|||
4
ikbokov
03.06.14
✎
14:44
|
А там как их вытащить всех? получить форму списка для начала?
|
|||
5
Рэйв
03.06.14
✎
14:46
|
(4)
Выборка=Справочники.Пользователи.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.ЭтоГруппа Тогда Пробдолжить; КонецЕсли; Пользователь=Выборкассылка КонецЦикла; |
|||
6
Рэйв
03.06.14
✎
14:46
|
*Выборка.ссылка
|
|||
7
ikbokov
03.06.14
✎
14:52
|
Спасибо)
Это папки пропускать? Если Выборка.ЭтоГруппа Тогда Продолжить; |
|||
8
Поpyчик-4
03.06.14
✎
14:53
|
(7) Так никогда не пиши. Пользуйся запросами.
|
|||
9
Рэйв
03.06.14
✎
15:15
|
(8)Я специально попроще написал:-)
|
|||
10
Поpyчик-4
03.06.14
✎
15:50
|
(9) А потом будет быдлокодить в типовых. Профи же посоветовал!
|
|||
11
ikbokov
05.06.14
✎
07:25
|
Вот так хорошо?)
Процедура КнопкаВыполнитьНажатие(Кнопка) Запрос = Новый Запрос("ВЫБРАТЬ | Пользователи.Ссылка Польз |ИЗ | Справочник.Пользователи КАК Пользователи"); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл Пользователь = Выборка.Польз; УправлениеПользователями.УстановитьЗначениеПоУмолчанию(Пользователь, "ЗапретитьОткрытиеНесколькихСеансов", Истина); Сообщить ("Запрет:" +УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(Пользователь, "ЗапретитьОткрытиеНесколькихСеансов")); Сообщить("Пользователь: " + Пользователь); КонецЦикла; КонецПроцедуры |
|||
12
Мимохожий Однако
05.06.14
✎
07:52
|
Настройки пользователей - это регистр сведений Настройки пользователей. Поэтому надо делать запрос к этому регистру и списку пользователей. Потом получить набор записей и установить требуемое значение
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |