Имя: Пароль:
1C
 
8.2 как посмотреть параметры сеанса в модуле управляемой формы
0 БабкаЕжка
 
11.03.10
11:29
ругается 1с , говорит :"попытка получения неинициализированного значения параметра сеанса".
1 Нуф-Нуф
 
11.03.10
11:33
код давай
2 БабкаЕжка
 
11.03.10
11:39
&НаСервере
Функция ПолучитьСерверныйВызов()
   сообщить(параметрысеанса.текущийпользователь);
   Возврат параметрысеанса.текущийпользователь;
КонецФункции
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   
   этотОбъект=ДанныеФормыВзначение(Объект,Тип("ДокументОбъект.ЗаказПокупателя"));
   если этотОбъект.ЭтоНовый() тогда
        этотОбъект.СтатусЗаказа=Перечисления.СтатусЗаказа.доработка;
            глТекущийПользователь=получитьсерверныйвызов();
            ЗаполнитьШапкуДокумента(ЭтотОбъект, глТекущийПользователь, этотобъект.мВалютаРегламентированногоУчета, "Продажа");
   КонецЕсли;
      ЗначениеВданныеФормы(ЭтотОбъект,Объект);
КонецПроцедуры
3 kiruha
 
11.03.10
11:56
Сообщить на сервере кому то хочешь ?
4 kiruha
 
11.03.10
11:56
Друг сидит в серверной ?
5 БабкаЕжка
 
11.03.10
14:58
(4), не обращай внимание на сообщить, это остатки былой роскоши))...как увидеть значение параметров сеанса?
6 kiruha
 
11.03.10
16:15
А что в отладчике показывает
параметрысеанса.текущийпользователь
в серверной процедуре
7 kiruha
 
11.03.10
16:17
Типовая

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

   
   //кэширование значения
   Менеджер = ПараметрыСеанса.ТекущийПользователь;
   
   
КонецПроцедуры
8 kiruha
 
11.03.10
16:23
Вместо ЭтоНовый

НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
       Менеджер = ПараметрыСеанса.ТекущийПользователь;
КонецЕсли;
КонецПроцедуры
9 БабкаЕжка
 
12.03.10
06:54
(6) в отладчике соответственно показывает ошибка при получении значения.
(7),(8) не работает
10 Defender aka LINN
 
12.03.10
07:55
(5) Тебе ж русским языком написали: "попытка получения неинициализированного значения параметра сеанса". Что, соответственно, означает, что значение параметра не задано.
11 БабкаЕжка
 
12.03.10
09:05
(10) и что получается не получить текущего пользователя в форме?
я думала, может я просто не в той процедуре получаю.
12 БабкаЕжка
 
12.03.10
09:07
(10) потому как такую же ошибку напишет 1с, если из клиента получаешь например константу, а если получение константы выведешь в серверную прцедуру, то все ок.
13 БабкаЕжка
 
12.03.10
11:28
ау
14 almar
 
12.03.10
11:33
(11) "попытка получения неинициализированного значения параметра сеанса" - это ты пытаешься прочитать параметр сеанса, предварительно в него ничего не записав
15 kiruha
 
12.03.10
11:37
Еще вариант - проблемы с правами
В серверном общем модуле (типовая УНФ)

// Функция возвращает ссылку на текущего пользователя базы данных,
// установленного по учетной записи пользователя конфигурации.
//
// Возвращаемое значение:
//  СправочникСсылка.Пользователи
//
Функция ТекущийПользователь() Экспорт
   
   УстановитьПривилегированныйРежим(Истина);
   
   Возврат ПараметрыСеанса.ТекущийПользователь;
   
КонецФункции // ТекущийПользователь()
16 БабкаЕжка
 
12.03.10
11:56
(15) в общем модуле пользователи(галочка сервер) вставила эту процедуру, долго думал, но выдал то же сообщение об ошибке. а может когда я в тонком клиенте работаю надо это значение как-то инициализировать предварительно?
17 kiruha
 
12.03.10
13:39
А у тебя в модуле Сеанса (правая клавиша мыши на корневом элементе конфигурации)
есть предопределенная процедура УстановкаПараметровСеанса
в которой устанавливается ПараметрыСеанса.ТекущийПользователь  ?
18 БабкаЕжка
 
12.03.10
14:06
(17), неа, я только начинаю разбираться с 8.2, конвертнула базу ут, и пытаюсь добавить новую управляемую форму. У меня этот модуль сеанса вообще пустой.
19 БабкаЕжка
 
12.03.10
14:06
а что там должно быть?
20 Defender aka LINN
 
12.03.10
14:10
(12) Не болтайте ерундой
21 kiruha
 
12.03.10
14:12
Скачай УНФ или УТ 11 - оттуда скопируй процедуры.
Должно быть установка ПараметрыСеанса.ТекущийПользователь

если ты не устанавливаешь параметр, то что расчитывала там прочитать ?
22 kiruha
 
12.03.10
14:15
Возможно в "библиотеке стандартных подсистем" тоже есть - не смотрел
23 БабкаЕжка
 
12.03.10
14:18
у меня эти параметры инициализируются только в модуле обычного приложения, плчается инициализацию еще надо прописать и в модуле сеанса?
24 NULLL
 
12.03.10
14:38
При запуске в управляемом режиме, этот модуль не выполняется, по этому параметры сеанса не инициализированы.
25 kiruha
 
12.03.10
14:39
(23)
Поставь точку останова в отладчике на месте инициализации.
Вычисли выражение
ПараметрыСеанса.ТекущийПользователь
до и после

Справка
Параметры сеанса
Параметры сеанса представляют собой поименованные значения, которые сохраняются только на период одного сеанса 1С:Предприятия.
Доступ к значениям параметра сеанса осуществляется средствами встроенного языка.
Перед использованием значения это значение должно быть установлено.
Значения параметров сеанса могут использоваться в ограничениях доступа к данным. Если значение параметра сеанса не установлено, то попытка его получения приведет к возникновению исключения.
Важно! В клиент-серверном варианте значения параметров сеанса хранятся на сервере 1С:Предприятия и доступны как с клиента, так и с сервера.
26 БабкаЕжка
 
12.03.10
14:39
kiruha - спасибо большое, что не бросили, все получилось.я просто 3 дня только в 8.2 , вот и туплю...