Работа с многопользовательской информационной базой 1С:Предприятие неизбежно сталкивает администраторов и пользователей с необходимостью контролировать активные соединения. Ситуации, когда требуется принудительно освободить лицензию, сбросить зависший процесс или подготовить базу к обновлению, возникают регулярно. Понимание механизмов управления сессиями является критически важным навыком для обеспечения стабильности работы системы.
В данной статье мы детально разберем различные способы завершения сеансов: от штатного выхода через интерфейс до административного вмешательства через консоль управления. Вы узнаете, как отличить фоновое задание от пользовательского сеанса и какие последствия может иметь резкий разрыв соединения для целостности данных.
Для начала важно определить, кто именно занимает лицензию. В окне информации о сеансах отображаются не только пользователи, работающие в клиентском приложении, но и фоновые процессы, которые могут удерживать соединения часами. Корректная идентификация типа сеанса позволит избежать ошибок при администрировании.
Штатное завершение работы пользователя
Самый безопасный и рекомендуемый способ освобождения лицензии — это самостоятельный выход пользователя из системы. При корректном завершении работы клиент 1С выполняет все необходимые транзакции, закрывает открытые документы и освобождает блокировки на уровне базы данных. Пользователю достаточно выбрать пункт меню Файл → Выход или нажать комбинацию клавиш Alt+F4.
Однако часто возникает ситуация, когда пользователь забыл закрыть программу или ушел на обед, оставив сессию активной. В этом случае администратору необходимо связаться с сотрудником и попросить его завершить работу. Это исключает риск потери несохраненных данных, которые могли быть открыты в режиме редактирования.
Если прямой контакт невозможен, можно воспользоваться функцией отправки уведомления. В некоторых конфигурациях реализована возможность отправки системного сообщения пользователю с просьбой выйти. Это более мягкий метод, чем принудительный разрыв, и он сохраняет лояльность сотрудников к ИТ-отделу.
⚠️ Внимание: Принудительное завершение сеанса без предупреждения может привести к потере данных в буфере обмена пользователя или прерыванию длительного процесса проведения документов.
Перед массовым обновлением базы заранее оповестите всех сотрудников о планируемом времени простоя, чтобы они самостоятельно завершили работу за 15 минут до начала технических работ.
Использование консоли управления кластером серверов
Для администраторов, работающих в среде клиент-серверного варианта запуска, основным инструментом является консоль управления. Этот инструмент позволяет видеть все активные соединения на уровне сервера 1С:Предприятия и управлять ими централизованно. Доступ к консоли обычно осуществляется через меню «Пуск» в папке установки платформы или через ярлык на рабочем столе.
В дереве объектов консоли необходимо раскрыть ветку с именем вашего кластера, затем перейти к списку информационных баз. Выбрав нужную базу, вы увидите список активных сеансов. Здесь отображается уникальный идентификатор сеанса, имя пользователя, компьютер, с которого выполнено подключение, и время начала работы.
Для завершения конкретного сеанса достаточно выделить его в списке, нажать правую кнопку мыши и выбрать пункт Удалить. Система запросит подтверждение действия. После подтверждения соединение будет разорвано, а лицензия освобождена мгновенно. Этот метод работает даже если клиентское приложение «зависло» на стороне пользователя.
| Параметр сеанса | Описание | Важность для анализа |
|---|---|---|
| Идентификатор (ID) | Уникальный номер сессии в кластере | Высокая (для скриптов) |
| Пользователь | Имя учетной записи в 1С | Высокая (идентификация) |
| Компьютер | Имя ПК или IP-адрес | Средняя (поиск места) |
| Начало сеанса | Время подключения | Высокая (поиск зависших) |
| Приложение | Тонкий/Толстый клиент или Web | Низкая (информативно) |
Блокировка новых соединений и регламентные работы
Когда необходимо провести регламентные работы, такие как обновление конфигурации или реструктуризация базы данных, простого удаления активных сеансов недостаточно. Новые пользователи могут моментально подключиться снова, что нарушит процесс обслуживания. В таких случаях используется механизм блокировки начала новых сеансов.
В консоли управления кластером для каждой информационной базы существует свойство Блокировка начала сеансов. Установив этот флаг, вы запретите всем новым подключениям, при этом текущие пользователи смогут продолжать работу до тех пор, пока не выйдут сами. Это позволяет дождаться естественного освобождения базы без грубого разрыва.
Для ускорения процесса можно комбинировать блокировку новых подключений с принудительным завершением старых. Сначала устанавливается флаг блокировки, затем администратор последовательно удаляет активные сеансы из списка. После того как счетчик активных соединений станет равным нулю, можно приступать к техническим работам.
⚠️ Внимание: Интерфейс и расположение настроек могут незначительно отличаться в зависимости от версии платформы 1С:Предприятие. Всегда сверяйтесь с официальной документацией для вашей конкретной версии сборки.
☑️ Подготовка к обновлению базы
Завершение сеансов через административный интерфейс 1С
В современных версиях платформы и типовых конфигурациях (например, 1С:Бухгалтерия, 1С:ЗУП, 1С:ERP) появилась возможность управления сеансами прямо из интерфейса программы, без использования внешней консоли. Эта функция доступна пользователям с полными правами, обычно это роль Администратор системы.
Для доступа к списку сеансов необходимо перейти в раздел Администрирование → Обслуживание → Активные пользователи (путь может варьироваться в зависимости от конфигурации). Здесь отображается таблица с текущими подключениями. Администратор может выделить строки с нужными пользователями и нажать кнопку Завершить сеанс.
Преимущество данного метода заключается в том, что он не требует доступа к серверу или прав локального администратора на машине, где установлена платформа. Достаточно иметь права в самой информационной базе. Это удобно для распределенных команд поддержки, которые не имеют физического доступа к серверу.
Однако стоит учитывать, что данный метод работает только если база данных доступна и функционирует нормально. Если система «лежит» из-за блокировок на уровне СУБД или проблем с сервером 1С, этот интерфейс может быть недоступен, и придется использовать консоль управления кластером.
Почему сеанс может не удаляться через интерфейс 1С?
Если пользователь выполняет длинную транзакцию или заблокировал таблицу на уровне СУБД, попытка завершения сеанса через интерфейс 1С может зависнуть или выдать ошибку таймаута. В таких случаях помогает только остановка службы сервера 1С.
Аварийное завершение через службы Windows и Linux
В экстренных ситуациях, когда консоль управления не подключается, а интерфейс базы недоступен, остается единственный вариант — перезапуск службы сервера 1С:Предприятия. Этот метод является «тяжелой артиллерией» и приводит к разрыву абсолютно всех соединений со всеми информационными базами на данном сервере.
В операционной системе Windows необходимо открыть оснастку services.msc, найти службу с именем Агент сервера 1С:Предприятия (или ragent) и выполнить команду Перезапустить. В среде Linux используется команда systemctl restart srv1cv83 или управление через скрипт ragent в зависимости от дистрибутива.
После перезапуска службы все процессы rmngr и rphost будут уничтожены и запущены заново. Лицензии освободятся автоматически. Пользователям придется заново запускать клиентское приложение и подключаться к базе. Этот метод гарантирует очистку всех «мертвых» зависших процессов, которые не удалялись стандартными средствами.
⚠️ Внимание: Перезапуск службы сервера прерывает выполнение всех фоновых заданий, включая обмен данными, синхронизацию и регламентные отчеты. Убедитесь, что в этот момент не критичные процессы не выполняются.
Перезапуск службы 1С — это радикальная мера, которая должна применяться только когда другие методы управления сеансами исчерпаны или недоступны.
Автоматизация управления сеансами через командную строку
Для продвинутых администраторов и задач автоматизации полезно знать, что управление сеансами можно осуществлять программно. Платформа 1С предоставляет возможности для написания внешних обработок или скриптов, которые анализируют список соединений и завершают их по определенным критериям.
Например, можно создать обработку, которая запускается по расписанию и завершает все сеансы, длящиеся более 4 часов, если пользователь находится в режиме «1С:Предприятие» (то есть не активен). Для этого используется объект метаданных СеансыИнформационнойБазы в коде.
Пример логики такого скрипта выглядит следующим образом: получаем коллекцию всех сеансов, фильтруем их по времени начала и имени пользователя, исключаем системные процессы и вызываем метод Завершить() для подходящих кандидатов. Это позволяет поддерживать базу в чистоте без постоянного ручного контроля.
Сеансы = СеансыИнформационнойБазы.ПолучитьСеансы();
Для каждого Сеанс Из Сеансы Цикл
Если Сеанс.Длительность > 3600 Тогда
Сеанс.Завершить();
КонецЕсли;
КонецЦикла;
Также существует утилита командной строки 1cv8.exe, которая позволяет управлять некоторыми параметрами запуска, но для непосредственного разрыва сессий она используется редко, уступая место встроенным средствам платформы и консольным утилитам администрирования кластера.
Часто задаваемые вопросы (FAQ)
Что произойдет с несохраненным документом при принудительном завершении сеанса?
Все данные, которые не были записаны в базу данных (находились только в оперативной памяти клиента), будут безвозвратно утеряны. Документ не проведется, движения не сформируются. Пользователю придется создавать документ заново после повторного входа.
Можно ли завершить сеанс конкретного пользователя, не затрагивая других?
Да, это стандартная функция. В консоли управления кластером или в интерфейсе 1С вы можете выбрать конкретную строку с именем нужного пользователя и удалить только её. Остальные участники работы базы не заметят изменений.
Почему после завершения сеанса лицензия не освобождается сразу?
В некоторых случаях, особенно при использовании файловых баз или при некорректном завершении работы ОС на клиенте, ключ защиты может оставаться занятым до истечения таймаута сессии (обычно несколько минут) или до перезапуска службы лицензирования.
Как отличить фоновый сеанс от пользовательского?
В списке сеансов фоновые задания часто отображаются с именем пользователя, от чьего имени они запущены, но в описании приложения или в названии процесса может быть указано «Фоновое задание» или «Расширение». Также они могут не иметь привязки к конкретному компьютеру (отображаться как localhost или сервер).
Безопасно ли завершать сеансы во время проведения месяца в ЗУП или закрытия периода в Бухгалтерии?
Крайне не рекомендуется. Прерывание сеанса в момент массовой обработки данных (закрытие месяца, перепроведение документов) может привести к рассинхронизации итогов, появлению «битых» проводок или блокировкам таблиц базы данных, которые придется исправлять вручную.