![]() |
![]() |
![]() |
|
Параметры сеанса, как определить поля? | ☑ | ||
---|---|---|---|---|
0
Uragan_a
17.11.11
✎
09:17
|
Параметры сеанса, как определить поля? В чистой конфе параметры сеанса пустая переменная, как добавить поле например ПараметрыСеанса.ТекущийПользователь
не могу понять гшде это делается в ут 11, при запуске там уже есть все параметры |
|||
1
Maxus43
17.11.11
✎
09:20
|
Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)
в модуле сеанса |
|||
2
Uragan_a
17.11.11
✎
09:38
|
спс, туплю
ну а вот УТ параметры берет из переменной ИменаПараметровСеанса, переименовал, все равно куча параметров ? я только включаю УТ, там сразу куча свойств у переменной |
|||
3
Maxus43
17.11.11
✎
09:39
|
в конфигураторе - Общие - параметрыСеансов. там список...
|
|||
4
Uragan_a
17.11.11
✎
15:37
|
не пойму куда уходи управление из модуля а потом возвращается. не пойму как работает (
Процедура УстановкаПараметровСеанса(ИменаПараметровСеанса) Если ИменаПараметровСеанса = Неопределено Тогда // Раздел установки параметров сеанса при начале сеанса (ИменаПараметровСеанса = Неопределено) // Выполняется установка параметров сеанса, которые можно инициализировать // при начале работы системы Иначе // Установка параметров сеанса "по требованию" // Параметры сеанса, инициализация которых требует обращения к одним и тем же данным // следует инициализировать сразу группой. Для того, чтобы избежать их повторной инициализации, // имена уже установленных параметров сеанса сохраняются в массиве УстановленныеПараметры //УстановленныеПараметры = Новый Массив; Для каждого ИмяПараметра Из ИменаПараметровСеанса Цикл //УстановитьЗначениеПараметраСеанса(ИмяПараметра, УстановленныеПараметры); КонецЦикла; КонецЕсли; КонецПроцедуры Получается сначало курсор пробегает по первой ветке, так как ИменаПараметровСеанса = неопределено, потом куда то убегает и опять возвращается и ИменаПараметровСеанса = Текущий пользователь не пойму, расскажите дураку |
|||
5
hhhh
17.11.11
✎
16:09
|
ну вот жеж
// Выполняется установка параметров сеанса, которые можно инициализировать // при начале работы системы |
|||
6
Uragan_a
17.11.11
✎
16:21
|
(5) эт как)
|
|||
7
Uragan_a
17.11.11
✎
16:25
|
магия какая то получается.
Вот что я написал: Модуль Сеанса: Процедура УстановкаПараметровСеанса(ИменаПараметровСеанса) Пользователи.ОпределитьТекущегоПользователя(); КонецПроцедуры СоздалОбщийМодульПользователи Процедура ОпределитьТекущегоПользователя() Экспорт ИдентификаторПользователяИБ = ПользователиИнформационнойБазы.ТекущийПользователь().Имя; Запрос = Новый Запрос; Запрос.Параметры.Вставить("ИдентификаторПользователяИБ ", ИдентификаторПользователяИБ); Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | Пользователи.Ссылка КАК Ссылка |ИЗ | Справочник.Пользователи КАК Пользователи |ГДЕ | Пользователи.Наименование = &ИдентификаторПользователяИБ"; РезультатПользователи = Запрос.Выполнить(); Выборка = РезультатПользователи.Выбрать(); Выборка.Следующий(); ПараметрыСеанса.ТекущийПользователь = Выборка.Ссылка; КонецПроцедуры Когда делаю отладчиком, курсор стоит еще только на начале процедуры становкаПараметровСеанса(ИменаПараметровСеанса), а ПараметрыСеанса.ТекущийПользователь уже равен нужному. если комментирую процедуру ОпределитьТекущегоПользователя() Экспорт, то араметрыСеанса.ТекущийПользователь=ошибка |
|||
8
hhhh
17.11.11
✎
16:30
|
а почему
("ИдентификаторПользователяИБ " с пробелом? |
|||
9
Uragan_a
17.11.11
✎
16:40
|
да суть не в этом, запрос отрабатывает, но как то все отрабатывает до того как курсор доходит )
|
|||
10
Dен
17.11.11
✎
16:48
|
(7) Насколько я понимаю, параметры сеанса инициализируются при первом к ним обращении (возможно я ошибаюсь, т.к. эту информацию где-то слышал, но не уточнял).
В отладчике вы также к нему обращаетесь, поэтому он получается проинициализирован. |
|||
11
Uragan_a
17.11.11
✎
16:56
|
то есть один ска из за этого параметра сама догадалась что нужно выполнить запрос?
ИдентификаторПользователяИБ = ПользователиИнформационнойБазы.ТекущийПользователь().Имя; Запрос = Новый Запрос; Запрос.Параметры.Вставить("ИдентификаторПользователяИБ ", ИдентификаторПользователяИБ); Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | Пользователи.Ссылка КАК Ссылка |ИЗ | Справочник.Пользователи КАК Пользователи |ГДЕ | Пользователи.Наименование = &ИдентификаторПользователяИБ"; РезультатПользователи = Запрос.Выполнить(); Выборка = РезультатПользователи.Выбрать(); Выборка.Следующий(); ПараметрыСеанса.ТекущийПользователь = Выборка.Ссылка; |
|||
12
hhhh
17.11.11
✎
16:58
|
(11) нет она не догадывалась, просто тупо выполнила процедуру УстановкаПараметровСеанса
|
|||
13
Uragan_a
17.11.11
✎
17:00
|
ясно, спс.
получается она все это выполняет при инициализации |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |