Неинициализированные параметры сеанса #591921


#0 by Maxus43
Приветствую! Может кто в курсе почему параметры сеанса могут не инициализироваться под одним и тем же пользователем? Перезаходим - всё нормально. По коду вобще не понятно как он может быть неинициализированным, ещё до УстановкаПараметровСеанса(ТребуемыеПараметры) - он уже есть и готов к использованию, незаполненный только. Конкретно речь про параметр "ГраницыЗапретаИзмененияДанных", но это думаю неважно. Платформа 8.2.14.533, инет перерыл - не нашёл...
#1 by Maxus43
апоньки
#2 by Cube
Кеш?
#3 by Maxus43
сомневаюсь... под разными пользователми так себя ведёт, и то работает то не работает. Если бы кэш - всегда бы не работало поидее
#4 by Cube
Тогда демоническое обновление...
#5 by Maxus43
<> чтоли? от демонического Кэш едет
#6 by Cube
Ответ в относился к , там про одного пользователя. Ответ относится к . К тому же в ещё и причина протелепатирована, что не устраивает? :)
#7 by Maxus43
за последний месяц демонических обновлений не было, вот что не устраивает)
#8 by Cube
Ну тогда хоть монитор протри))
#9 by Maxus43
дак реально такая байда, скриншоты с ошибками аж прислали. я вобще понять не могу как параметр сеанса с типом ХранилищеЗначения может быть не инициализирован... он не заполнен может быть.
#10 by Maxus43
идей нет больше? хз чо делать, даже воспроизвести не могу ошибку
#11 by DmitryPavlik
такая же ситуация
#12 by Maxus43
как бороться то? ошибка платформы чтоль незарегистрированая?
#13 by organizm
Та же херня. Боремся удалением временных файлов 1С в ApplicationData и в LocalSettings там папки с гуидами в названии.
#14 by organizm
эта ошибка платформы тянется, на сколько я себя помню, с 8.1...
#15 by Maxus43
описание бы найти ошибки, щас на сайте 1с смотрел - в официальных ошибках нет
#16 by organizm
мне кажется и не будет, это фантомашка, специально не придумаешь. случается редко, и мне кажется из-за того что при закрытии программа не успевает что то поудалять.
#17 by Maxus43
кстати щас поймал такую ошибку при обмене с филиалом...
#18 by Jaffar
можно не ждать чуда и самому написать на хотлайн, ну или попытаться обновить платформу до 8.2.15.
#19 by Maxus43
читал про исправленные ошибки в 8.2.15 - там такого нет...
#20 by Defender aka LINN
"ещё до УстановкаПараметровСеанса(ТребуемыеПараметры) - он уже есть и готов к использованию, незаполненный только" - и как же ты это выяснил?
#21 by Maxus43
отладчиком. При первом заходе в эту процедуру в параметрах сеанса уже есть все параметры заданные в конфигураторе, и т.к. он имеет тип значения - Хранилище значения, то при получении его мы достаём Неопределено. Ни о каких ошибках типа попытка получить неинициализированный параметр сеанса речи не идёт... или не так смотрю?
#22 by Defender aka LINN
Бугога. Первое обращение к неиницилизированному параметру вызывает его установку.
#23 by Maxus43
читал я справку уже. а ошибка то почему? причем если перезайти - уже не повторяется? весь код перерыл, нет ничо подобного там
#24 by Defender aka LINN
Возможно, сочетание каких-нибудь не часто встречающихся факторов.
#25 by Maxus43
т.е. в итоге типа что-то получается всё равно? не получается никак отловить, ошибка то не воспроизводится
#26 by Defender aka LINN
Лично я такой ошибки не припомню. Я скорее поверю, что как-то криво написан код установки параметра сеанса. Лично я бы обвешал все по периметру флажками (записью в ЖР, например) и анализировал бы потом. Ну и 90% "ошибок платформы" сидит за клавиатурой.
#27 by Jaffar
прокладка между клавиатурой и платформой? :-)
#28 by Maxus43
по всему выходит что параметры сеанса ещё и кэшируются. Сейчас "ещё до УстановкаПараметровСеанса(ТребуемыеПараметры)" он уже не просто инициализирован но и заполнен значениями
#29 by Maxus43
+ т.е. в момент описаный в СП как: при установке соединения с информационной базой или при захвате соединения с информационной базой из пула до вызова всех остальных обработчиков. Значение параметра "Параметры сеанса" - Неопределено;
#30 by Defender aka LINN
Еще раз - они установлены потому, что ты решил на них посмотреть. Если бы ты на них не смотрел - они бы не были установлены. Такой вот фокус.
#31 by Jaffar
а как же тогда выводить их в ЖР? или в этом случае правило "Первое обращение к неиницилизированному параметру вызывает его установку" не выполняется?
#32 by Gop999
Та же беда. Постоянно у пользователей выскакивает сообщение о том, что не инициализирован параметр сеанса "ГраницаЗапретаИзмененияДанных". Но еще и мало того ругается на то, что параметров не существует в "ПараметрахСеанса". А как такое может быть? Скажем параметр "НаличиеОбменаУПП" установлен в конфигурации, и обязательно присутствует в ПараметрахСеанса, куда он оттуда девается? Я понимаю не инициализирован, но не существует...??? Причем может исчезнуть, после перезапуска работает, потом опять и т.д. Все это больше смахивает на нестабильность самой 1с. Кто нибудь решил эти проблемы?
#33 by dmpl
Режим совместимости включен?
#34 by Maxus43
да, с 8.1. скоро на режим совместимости 8.2.13 перейдём да странно как то ведёт себя на самом деле. Вроде у меня получается что из-за блокировок может не проинициализироваться...
#35 by dmpl
Даю рецепт: В модуле сеанса, в процедуре УстановкаПараметровСеанса в ветке Если ТребуемыеПараметры = Неопределено Тогда ... принудительно устанавливаем все параметры сеанса. После этого как бабка отшептала.
#36 by Gop999
Собственно я и думал о таком решении. Но смущает один момент. Ведь параметры, то инициализируются, а потом "разваливаются"(или как это назвать). Но раз Вы уже пробовали, значит пойдем по этому пути.
#37 by Gop999
А у нас отключен полностью режим совместимости. Но так же было когда режим был с поддержкой 8.1
#38 by dmpl
Происходит переброска сеанса с одного сервера на другой - и в этот момент параметры становятся неинициализированными (контекст не перебрасывается, хотя сервер, видимо, считает, что должен перебрасываться). Причем это происходит даже если сервер всего 1.
#39 by Maxus43
:) вчера ещё так сделал, но именно для проблемного параметра. пока не тестил ещё, собсно и тестить не получится, не воспроизводится ошибка.
#40 by Gop999
А это как лечить?
#41 by Gop999
Или принудительная установка и в этом поможет?
#42 by dmpl
А это уже 1С должна исправить. На текущий момент описание в СП не соответствует реальному поведению платформы. По какой-то причине обработчик для некоторых параметров сеанса не вызывается когда надо, 100% шанс вызова только для параметра Неопределено. Установка всех параметров при передаче Неопределено лечит проблему на 99,99%.
#43 by Gop999
Понял, огромное спасибо!Пробуем.
#44 by Maxus43
официального описания такого бага нет у 1с?
#45 by Gop999
Я искал, все перерыл - не нашел. И к 1С обращался, ничего не знают. Написали что-то про связку Сервер1С - Сервер W - SQL. Так отписка.
#46 by dmpl
Я хотел им написать, да они ведь отфутболят в связи с режимом совместимости + "не удалось воспроизвести".
#47 by Jaffar
напиши сразу "проявляется не всегда". я тоже им писал, что 8.2.14 не хотела создавать начальный образ периферийки - мне отписались "не удалось воспроизвести", но потом исправили.
#48 by Gop999
Господа коллеги. РЕШЕНИЕ ПО ДАННОЙ ПРОБЛЕМЕ. На идею навел "dmpl" пост № 38, за что ему отдельное ОГРОМНОЕ спасибо. Суть вот в чем, для ускорения, изолирования и т.д. 1С предлагает запускать сервер 1С с множеством рабочих процессов. Что нами использовалось на 8.1 без проблем. Как написал "dmlp" сервер начинает гонять сеансы между процессами (почему и зачем это уже к 1С), но гоняет косячно. По крайней мере в части параметров сеанса. Мы запустили сервер 1С с одним рабочим процессом. И как бабка отшептала все эти ошибки. Количество пользователей 150, производительность по первым прикидкам не упала нисколько. А в части переброски сеансов, даже увеличилась. Т.к. ничего не перебрасывает. Как говорится решение с пылу, с жару.
#49 by RusDum
Ай помогло, реально!!! 10 дней мучений. Убили все процессы, оставили 1, все заработало. Спасибо!
#50 by pbelsib
при начале работы системы - смотрим в табло на ПараметрыСеанса, и видим, что часть из них: "ошибка чтения записи", причем при каждом запуске по разному. у нас это появилось на третий день после перехода с 13 релиза на 15. я сделал так: при старте, в процедуре модуля ПолныеПрава    Для Каждого Стр ИЗ Метаданные.ПараметрыСеанса Цикл          Попытка
#51 by Kraft
Это трабла следствие работы встроенного механизма отложенной инициализации параметров санса. Проявляется если процессов на сервере больше одного. Лечится так: В модуле сеанса в разделе безусловной инициализации нужно проинициализировать некоторые параметры сразу (текст между каментов + и -): Иначе           ...
#52 by Maxus43
Только рабочий процесс один у нас, ибо на 8.2 1с не рекомендует сама юзать много процессов (пруфа нет, читали где-то, не суть). Безусловная инициализация наверно поможет, что и было предложено
#53 by lxs
столкнулся при обмене между базами. лечил принудительной инициализацией. больше проблема не возникала.
#54 by Maxus43
> ага, лично я только так и словил. Короче видимо трабла решена в мойм случае, эти ребята из филиала запустили несколько рабочих процессов. у всех остальных он один, и проблем нет
#55 by lxs
обмен по COM?
#56 by Maxus43
нет обычный, но опять же наверно было таки связано с несколькими раб процессами, во время обмена просто я сам эту ошибку увидел
#57 by Jaffar
Известные ошибки версии 8.2.15, планируемые к исправлению в версии 8.2.15 10096672  Попытка получения неинициализированного значения параметра сеанса Проблема: В клиент-серверном варианте информационной базы при работе в толстом клиенте, если кластер содержит несколько рабочих процессов, или выполнялись динамические обновления конфигурации базы данных, то при попытке получить из кода толстого клиента значения некоторых параметров сеанса может происходить ошибка Попытка получения неинициализированного значения параметра сеанса Дата публикации: 2012-01-19
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С