Администрирование · 12 мин
Сеанс в 1С: что это и как управлять сеансами пользователей
Что такое сеанс в 1С, чем отличается от соединения, как посмотреть список сеансов в консоли кластера и конфигураторе, как завершить зависший сеанс безопасно.
Сеанс в 1С — это сеанс работы пользователя (или программного механизма) с информационной базой: от момента запуска клиентского приложения до его закрытия. Каждый раз, когда бухгалтер открывает 1С:Предприятие, веб-сервер обрабатывает запрос или выполняется регламентное задание, платформа создаёт отдельный сеанс со своим номером, временем начала и набором параметров.
Понимание того, что такое сеанс, критично для администратора: именно через список сеансов определяют, кто сейчас работает в базе, кто блокирует проведение документов, кто мешает установить монопольный режим для обновления конфигурации. Лицензии 1С также расходуются по сеансам, поэтому «висящие» сеансы напрямую отражаются на доступности программы для других сотрудников.
Ниже разберём, чем сеанс отличается от соединения, какие бывают типы сеансов, как посмотреть активные сеансы в файловом и клиент-серверном варианте, как корректно завершить зависший сеанс и какие ошибки при этом допускают чаще всего.
Что такое сеанс в 1С и зачем он нужен платформе
Технически сеанс — это контекст выполнения на стороне сервера 1С или в файловой базе. В нём хранятся параметры текущего пользователя, настройки соединения с СУБД, временные данные, управляемые блокировки. Пока сеанс существует, платформа «помнит», кто работает, и обслуживает его запросы.
Один пользователь может держать несколько сеансов одновременно: например, открыта база в тонком клиенте на рабочем компьютере и параллельно — через веб-клиент с ноутбука. Для платформы это два независимых сеанса с разными номерами. Обратная ситуация тоже возможна: сеанс существует, а пользователь фактически не работает — компьютер ушёл в сон, а программа не закрыта.
Сеансы создают не только люди. Регламентные и фоновые задания, веб-сервисы, HTTP-сервисы, внешние соединения через COM — всё это порождает служебные сеансы. Поэтому в списке активных сеансов администратор видит не только фамилии сотрудников, но и системные записи.
Чем сеанс отличается от соединения
Эти понятия часто путают, но в клиент-серверной архитектуре 1С они описывают разные уровни. Соединение — это физическая связь между процессами: клиентом и рабочим процессом кластера, рабочим процессом и СУБД. Сеанс — логическая сущность, привязанная к конкретной работе с информационной базой.
Один сеанс за время работы может использовать несколько соединений (например, при переключении между рабочими процессами кластера), а одно соединение с СУБД может обслуживать запросы разных сеансов по очереди. В консоли кластера это видно наглядно: списки «Сеансы» и «Соединения» находятся в разных ветках и содержат разное число записей.
Практический вывод: когда нужно понять, кто работает в базе и кого отключить, смотрят именно список сеансов. Список соединений полезен при диагностике нагрузки на кластер и сетевые проблемы, но не отвечает на вопрос «кто занял лицензию».
Типы сеансов: пользовательские и служебные
В списке сеансов у каждой записи указано приложение, которое его открыло. По этому признаку сеансы делятся на несколько типов, и важно различать их перед принудительным завершением.
- Толстый, тонкий, веб-клиент — обычная работа пользователей в режиме 1С:Предприятие.
- Конфигуратор — сеанс разработчика или администратора. Завершение чужого сеанса конфигуратора может привести к потере несохранённых изменений.
- Фоновое задание — выполнение процедуры в фоне, запущенной пользователем или системой.
- Регламентное задание — плановые операции: обмены, расчёт итогов, архивация по расписанию.
- Веб-сервис, HTTP-сервис, COM-соединение — интеграционные обращения из внешних систем.
Показывает, кто или что открыло сеанс: пользователь, фоновое задание, веб-сервис
Сеанс, открытый много часов назад без активности, — кандидат на проверку
Нулевая активность длительное время — признак зависшего или забытый сеанс
Позволяет найти сеансы, которые «съедают» лицензии без реальной работы
Как посмотреть список сеансов
Клиент-серверный вариант: консоль кластера
В клиент-серверной архитектуре полный список сеансов доступен в консоли администрирования серверов 1С. Откройте консоль, разверните нужный кластер, затем узел «Сеансы». В таблице отображаются номер сеанса, пользователь, компьютер, приложение, время начала, показатели активности и занятые лицензии.
Отсюда же доступны действия: завершить сеанс, отправить пользователю сообщение, посмотреть блокировки сеанса. Для работы с консолью нужны права администратора кластера или администратора информационной базы, если для кластера задана аутентификация.
Файловый вариант: активные пользователи
В файловой базе консоли кластера нет, поэтому список сеансов смотрят прямо в режиме 1С:Предприятие: раздел «Администрирование» → «Обслуживание» → «Активные пользователи» (в типовых конфигурациях путь может немного отличаться). Откроется таблица с пользователями, временем входа и типом клиента.
Дополнительно в файловом варианте работает команда конфигуратора «Администрирование → Активные пользователи» — она показывает тот же список и позволяет завершить сеанс. Учтите: в файловой базе завершение чужого сеанса возможно не всегда — многое зависит от того, отвечает ли клиентский процесс.
// Получить список сеансов программно (встроенный язык 1С)
Сеансы = ПолучитьСеансыИнформационнойБазы();
Для Каждого Сеанс Из Сеансы Цикл
Сообщить("" + Сеанс.НомерСеанса + " | " + Сеанс.ИмяПользователя + " | " + Сеанс.ИмяПриложения);
КонецЦикла;Как завершить зависший сеанс безопасно
Зависший сеанс — типичная ситуация: компьютер пользователя перезагрузили, а сеанс на сервере остался; программа «повисла», но лицензию не отпускает; нужно обновить конфигурацию, а монопольный режим не устанавливается из-за «мертвых» подключений.
- 1Откройте список сеансов в консоли кластера или через «Активные пользователи»
- 2Найдите нужный сеанс по пользователю, компьютеру и времени начала — убедитесь, что это именно тот сеанс
- 3Если пользователь доступен, попросите его закрыть программу штатно — это исключает потерю несохранённых данных
- 4При невозможности штатного выхода выделите сеанс и выполните команду «Завершить сеанс» (в консоли — через контекстное меню или кнопку удаления)
- 5Проверьте результат: сеанс должен исчезнуть из списка, лицензия — освободиться
В клиент-серверном варианте, если сеанс не завершается из консоли, помогает установка для информационной базы режима «Блокировка регламентных заданий» и параметра «Код разрешения» с последующим принудительным завершением всех сеансов — это стандартный приём перед обновлением конфигурации.
Сеансы и лицензии: почему «кончаются» лицензии 1С
Клиентские лицензии 1С выдаются на сеанс. Если сотрудник закрыл программу аварийно или просто свернул её на весь день, лицензия остаётся занятой. На предприятии с ограниченным числом лицензий это приводит к ошибке «Не найдено свободной лицензии» у других пользователей, хотя реально работает меньше людей, чем куплено лицензий.
Решается проблема двумя способами. Организационный — регламент закрывать 1С при уходе с рабочего места. Технический — настройка автоматического завершения неактивных сеансов: в свойствах информационной базы в консоли кластера задаётся параметр «Интервал перезапуска» и через настройки кластера — время завершения спящих сеансов. В типовых конфигурациях также есть механизм завершения сеансов по расписанию через регламентные операции.
Типичные проблемы с сеансами и их решение
Наиболее частые жалобы администраторов связаны с «зависшими» сеансами, невозможностью установить монопольный режим и нехваткой лицензий. Во всех трёх случаях первичная диагностика одинакова: открыть список сеансов и сопоставить его с реально работающими пользователями.
Если зависшие сеансы появляются регулярно с одних и тех же компьютеров, проверьте стабильность сети и версию платформы на клиенте: обрывы соединения и устаревшие версии — частая причина «осиротевших» сеансов. Также полезен журнал регистрации: в нём видно, как завершался сеанс — штатно или аварийно.
Как выбрать действие
Контроль результата и профилактика
После завершения сеансов убедитесь, что цель достигнута: монопольный режим установился, лицензия освободилась, пользователь смог войти заново. Простая проверка занимает минуту, но исключает повторные обращения.
Как проверить результат
Завершённый сеанс исчез из таблицы
Сеанс остался или появился снова с тем же компьютера — клиентский процесс ещё жив
Новый пользователь входит без ошибки поиска лицензии
Ошибка «не найдено свободной лицензии» повторяется — ищите другие зависшие сеансы
Устанавливается без сообщений об активных пользователях
Платформа сообщает об оставшихся сеансах — проверьте фоновые и регламентные задания
Для профилактики настройте автоматическое завершение неактивных сеансов, следите за регламентными заданиями (они должны завершаться, а не висеть часами) и периодически просматривайте журнал регистрации на предмет аварийных завершений. Это снижает число ситуаций, требующих ручного вмешательства.
Что важно запомнить
Сеанс — это единица работы с базой 1С, на которую расходуется лицензия. Список сеансов смотрят в консоли кластера или через «Активные пользователи», завершать чужие сеансы нужно только после проверки, а регулярные зависания лечатся настройкой автозавершения и диагностикой сети.
Частые вопросы о сеансах в 1С
Чем сеанс отличается от пользователя в 1С?
Пользователь — это учётная запись в информационной базе, а сеанс — факт её использования прямо сейчас. Один пользователь может иметь несколько активных сеансов (с разных устройств) или ни одного, если не работает в программе.
Почему сеанс остаётся активным после закрытия программы?
При аварийном закрытии клиента (обрыв сети, перезагрузка компьютера, снятие процесса) сервер 1С некоторое время считает сеанс живым, ожидая восстановления связи. Через заданный интервал такой сеанс завершается автоматически, но до этого момента он занимает лицензию.
Можно ли завершить сеанс другого пользователя из режима 1С:Предприятие?
Да, если у вас есть административные права: через «Администрирование → Активные пользователи» в типовых конфигурациях доступно завершение сеансов. В клиент-серверном варианте надёжнее использовать консоль кластера — там завершение выполняется принудительно на уровне сервера.
Что произойдёт с данными пользователя при принудительном завершении сеанса?
Все несохранённые данные (открытые, но не записанные документы, непроведённые изменения) будут потеряны. Уже записанные в базу данные не пострадают. Поэтому перед завершением стоит предупредить пользователя или убедиться, что он не работает.
Как автоматически завершать неактивные сеансы?
В свойствах информационной базы в консоли кластера задаются параметры блокировки, а в настройках кластера — интервалы завершения спящих сеансов. В типовых конфигурациях также есть настройка завершения сеансов по расписанию, например в нерабочее время.
Почему в списке сеансов есть записи без имени пользователя?
Это служебные сеансы: регламентные задания, веб-сервисы, фоновые задания, запущенные от имени системы. Они нормальны для работающей базы, но их чрезмерное количество или бесконечное время жизни — повод проверить настройки заданий и интеграций.