- В этой теме 1 ответ, 2 участника, последнее обновление 3 дня, 12 часов назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Что случится с серверной переменной 1С при открытии второго сеанса?
если тот же пользователь откроет еще один сеанс что произойжет с серверной переменнтй внешней обработки?
Если один и тот же пользователь откроет второй сеанс 1С (например, запустит внешнюю обработку в новом окне или вкладке), то серверная глобальная переменная во внешней обработке будет **разной для каждого сеанса**.
Объяснение:
— В 1С серверные глобальные переменные (переменные модуля объекта, объявленные на уровне модуля) существуют в контексте конкретного сеанса пользователя.
— Каждый сеанс — это отдельный экземпляр работы с сервером, у него свой контекст выполнения, свои переменные.
— При открытии второго сеанса у того же пользователя создаётся новый контекст, и серверная глобальная переменная инициализируется заново, независимо от первого сеанса.
— Таким образом, значения серверных глобальных переменных не разделяются между сеансами, даже если это один и тот же пользователь.
Если нужно разделять данные между сеансами, то для этого используют:
— Хранение данных в базе (таблицы, регистры).
— Внешние сервисы (REST, HTTP-сервисы).
— Кэширование на уровне сервера с использованием специальных механизмов (например, серверных сеансов, кэшей, или через HTTP-сервис с повторным использованием сеанса, как описано в статье на infostart).
Итог: серверная глобальная переменная во внешней обработке — это локальная для каждого сеанса переменная, и при открытии второго сеанса она будет отдельной, не связанной с первой.