Имя: Пароль:
1C
 
Программная установка пароля пользователяИБ
0 Crashxxx
 
02.07.10
15:10
Пишу код:

ТекущийПользователь = ПользователиИнформационнойБазы.ТекущийПользователь();
ТекущийПользователь.Пароль = Пароль;
ТекущийПользователь.Записать();
ТекущийПользовательИБ = ТекущийПользователь;
Сообщить(ТекущийПользователь.ПарольУстановлен);
Сообщить(ПользователиИнформационнойБазы.ТекущийПользователь().ПарольУстановлен);

Результат в окне сообщений:

Да
Нет

Объясните, почему так? Для тек пользователя пароль установил, а второе сообщить как то странно себя ведет.
1 butterbean
 
02.07.10
15:13
для текущего пользователя что-то изменится только после перелогина
2 Crashxxx
 
02.07.10
15:15
Да,действительно так, тогда почему ТекущийПользователь.ПарольУстановлен дает результат "Да" ?
3 butterbean
 
02.07.10
15:18
(2) хз
4 Crashxxx
 
02.07.10
15:22
..хм, вот и я хз
5 Рыжий Лис
 
02.07.10
15:29
(0) Возможно в платформе реализовано кеширование функции ТекущийПользователь() и она возвращает значения на момент входа пользователя.
6 Crashxxx
 
02.07.10
16:14
ну работает корректно что-то типа ПользователиИнформационнойБазы.НайтиПоИмени(ПользователиИнформационнойБазы.ТекущийПользователь().Имя).ПарольУстановлен
7 Crashxxx
 
02.07.10
16:45
видимо кэш списка пользователей происходит при входе, поэтому пришлось шариться с помощью НайтиПоИмени по БД, куда мы видимо внесли изменения после Запись()
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший