Имя: Пароль:
1C
1С v8
глЗначениеПеременной("глТекущийПользователь") или ПараметрыСеанса.ТПользователь?
0 DirecTwiX
 
06.05.14
23:36
Объясните дураку, есть ли разница, и в чём она заключается, если есть)
1 Diversus
 
06.05.14
23:39
(0) В БСП (библиотеке стандартных подсистем) третий вариант Пользователи.ТекущийПользователь()
2 ДенисЧ
 
06.05.14
23:39
в первом случае кеш используется
3 Diversus
 
06.05.14
23:41
(1) Поправка ПользователиКлиентСервер.ТекущийПользователь()
4 Diversus
 
06.05.14
23:43
(2) А кэш получается знаешь как? :)

Идет обращение к параметрам сеанса с типом ХранилищеЗначения в котором лежит структура. Но это было раньше, сейчас этот механизм не используют.
5 Diversus
 
06.05.14
23:53
(0) В БСП предпочтительно использовать ПользователиКлиентСервер.ТекущийПользователь()

Т.к. работает и на клиенте и на сервере, а так же если используются не только Справочник Пользователи, но и ВнешниеПользователи все возвращается как нужно.

Вообще мне кажется это атавизм, который перешел из 7.7
История примерно следующая:

1) В 7.7 было глЗначениеПеременной("глТекущийПользователь")
2) Потом пришла 8.0, 8.1 появились параметры сеанса, поэтому стало возможно использовать ПараметрыСеанса.ТекущийПользователь, а так же видимо при переносе типовых конфигураций оставили глЗначениеПеременной("глТекущийПользователь")
3) Потом пришли 8.2, 8.3 управляемые формы БСП и появился третий вариант: ПользователиКлиентСервер.ТекущийПользователь(), т.к. концепцию простых пользователей расширили и дополнили внешними, а так же появились явные клиент/серверные вызовы.
6 DirecTwiX
 
07.05.14
00:30
Понял, спасибо!

В обработках тогда буду параметры сеанса использовать)
Программист всегда исправляет последнюю ошибку.