Инициализация и установка параметров сеанса в БСП 2.4

1. KNM.Work 01.08.17 19:22 Сейчас в теме
Доброго времени суток!

Самописная конфигурация, БСП.
Требуется кошерным макаром создать и инициализровать некий параметр сеанса, который, во время работы, может изменяться, и по которому будет осуществляться разделение доступа к справочникам и документам.

По аналогии с увиденным, создал новый общий модуль с экспортной процедурой УстановкаПараметровСеанса, в которой нужный параметр заполняется.
В общем модуле "ОбщегоНазначенияПереопределяемый", в процедуре "ПриДобавленииОбработчиковУстановкиПараметровСеанса" вставил код:..
Обработчики.Вставить("ИмяМоегоПараметраСеанса", "ИмяМоегоОбщегоМодуля");

...и ничего не происходит. При проходе по процедуре "УстановкаПараметровСеанса" общего модуля "СтандартныеПодсистемыСервер", при исполнении кода...
ОбработчикиСобственные = Новый Соответствие;
ОбщегоНазначенияПереопределяемый.ПриДобавленииОбработчиковУстановкиПараметровСеанса(ОбработчикиСобственные);
Для Каждого Запись Из ОбработчикиСобственные Цикл
	Обработчики.Вставить(Запись.Ключ, Запись.Значение);
КонецЦикла;

...нужная инфа добавляется, как бы, куда надо, однако при проходе по процедуре "ВыполнитьОбработчикиУстановкиПараметровСеанса" того же самого модуля, инициализации не происходит. Вероятнее всего - потому, что вот этот код
Для Каждого Запись Из Обработчики Цикл
	Если СтрНайти(Запись.Ключ, "*") > 0 Тогда
		КлючПараметра = СокрЛП(Запись.Ключ);
		ПараметрыСеансаКлючи.Добавить(Лев(КлючПараметра, СтрДлина(КлючПараметра)-1));
	КонецЕсли;
КонецЦикла;

... почему-то предполагает инциализацию только того, в название чего была вписана звёздочка. При этом, через shft+f9 можно увидеть, что у такого параметра сеанса, как "ТекущийПользователь" заветной звёздочки нет, однако он, зараза, уж как-то вот инициализируется.

Информации нигде не нашёл. А искал, ой, ну просто до того упорно, что забанили в гугле и поисковике этого сайта. Понятно, что при поиске типа "ПараметрыСеанса." я рано или поздно наткнусь на место, где инициализируется "ТекущийПользователь" и сделаю по аналогии, но вообще очень бы хотелось:
а) Ускорить процесс;
б) По возможности, получить ссылок на благодатные места, где расставляются крыжики над й в разрезе работы с БСП с относительно глубоким проникновением в недра кода.

В чём и прошу тебя поспособствовать, о добрый и эрудированный читатель (и, надеюсь, писатель).
Я же, со своей стороны, уже расчехляю и передёргиваю затвор своего реактивного плюсомёта.

Короче - прошу пояснить, что я делаю не так.

P.S. Насчёт ПС "ТекущийПользователь" - ну, или даже не наткнусь. Навтыкал точек останова просто везде, где только мог, и, не смотря ни на что, ПС "ТекущийПользователь" оказывается установленным аж даже в самой первой точке останова, в которую вляпывается программа. Это какой-то полнейший и неистовый, раздирающий душу в куски WTF.
improg; Pavel_Vladivostok; +2 Ответить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. herfis 498 27.11.18 11:28 Сейчас в теме
(1)
По аналогии с увиденным, создал новый общий модуль с экспортной процедурой УстановкаПараметровСеанса, в которой нужный параметр заполняется.
В общем модуле "ОбщегоНазначенияПереопределяемый", в процедуре "ПриДобавленииОбработчиковУстановкиПараметровСеанса" вставил код:..

Обработчики.Вставить("ИмяМоегоПараметраСеанса", "ИмяМоегоОбщегоМодуля");

1. Ваша экспортная процедура установки параметров должна принимать два параметра - имя параметра и массив установленных параметров. Находиться в серверном модуле. Оптимально в начале устанавливать привилегированный режим.
2. Имя общего модуля указать недостаточно - нужно указывать полный путь к обработчику. То есть
Обработчики.Вставить("ИмяМоегоПараметраСеанса", "ИмяМоегоОбщегоМодуля.ИмяМоегоОбработчика");

ЗЫ. При "копании" БСП методика очень простая. Сначала читаем документацию, а неочевидные моменты подглядываем в демке. Все, что касается общих моментов, содержится в доке по подсистеме "Базовая функциональность" и "Обновление версии ИБ".
improg; antonio_i; +2 Ответить
6. improg 574 02.09.23 12:56 Сейчас в теме
(1)
(3)
Спасибо помогло, еще не забываем про количество параметров "ИмяМоегоОбработчика" их должно быть 2-а. Версия БСП 3.1.7.422.
2. Pavel_Vladivostok 58 27.11.18 11:01 Сейчас в теме
Тоже пытаюсь установить свой параметр сеанса в БСП 2.4.6, пока безуспешно...
4. Pavel_Vladivostok 58 27.11.18 11:42 Сейчас в теме
Все оказалось банально просто, пользовательский параметр сеанса добавляется как это описал автор темы, я сделал точно так-же и действительно при запуске параметр не устанавливается, но все добавленные таким образом пользовательские параметры устанавливаются при первом обращении к ним.
т.е. стоит только обратиться к этому параметру в отладчике или в коде, он тут-же устанавливается.
5. ImHunter 315 27.11.18 12:51 Сейчас в теме
(4) Да, так рекомендует 1С делать. Соотсветственно, в БСП так и реализовывается.
Параметры сеанса устанавливаются "лениво", лишь при обращении к нему.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот