Программная установка пароля пользователяИБ
☑
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
видимо кэш списка пользователей происходит при входе, поэтому пришлось шариться с помощью НайтиПоИмени по БД, куда мы видимо внесли изменения после Запись()
2 + 2 = 3.9999999999999999999999999999999...