К статье
Практический материал

Администрирование · 12 мин

Как завершить сеансы в 1С через конфигуратор

Как завершить сеанс пользователя в 1С через конфигуратор: список активных пользователей, удаление сеансов, блокировка соединений, риски и частые ошибки администратора.

Список активных пользователей в конфигураторе 1С — встроенный инструмент, который показывает всех, кто сейчас подключён к информационной базе, и позволяет принудительно завершить их сеансы. Это нужно при обновлении конфигурации, восстановлении базы из архива, тестировании изменений и в ситуациях, когда сеанс «завис» и блокирует объект метаданных. Инструмент доступен только пользователю с административными правами и работает как в файловом, так и в клиент-серверном варианте, хотя возможности в этих режимах заметно различаются.

Принудительное завершение сеанса — потенциально деструктивная операция: несохранённые данные пользователя будут потеряны, а прерванная транзакция может оставить таблицы в состоянии ожидания блокировок. Поэтому перед удалением сеанса стоит убедиться, что пользователь предупреждён, а если сеанс принадлежит регламентному заданию — понять, какое именно задание вы прерываете и не выполняет ли оно критичную обработку, например обмен данными.

Где находится список активных пользователей

Запустите конфигуратор и войдите в информационную базу под учётной записью с полными или административными правами. Без права «Администрирование» пункт меню будет недоступен или список окажется пустым. Если база защищена паролем администратора кластера (в клиент-серверном варианте), он тоже понадобится при отдельных операциях.

Откройте верхнее меню Администрирование и выберите пункт Активные пользователи. Появится окно со списком текущих подключений. Обратите внимание: сам список не обновляется автоматически в реальном времени — если вы оставили окно открытым, перед принятием решения закройте и откройте его заново либо обновите доступной командой, иначе можно завершить уже несуществующий сеанс или не увидеть новые подключения.

В файловом варианте базы список показывает подключения к локальному каталогу базы, в клиент-серверном — сеансы, зарегистрированные кластером серверов 1С. Во втором случае конфигуратор фактически запрашивает данные у сервера, поэтому при недоступности агента кластера список может не открыться вовсе.

Как читать список активных сеансов

Таблица содержит несколько колонок, по которым можно точно определить, кого вы собираетесь отключить. Ориентируйтесь не только на имя пользователя — одна и та же учётная запись может быть открыта на нескольких компьютерах одновременно.

  • Пользователь — имя учётной записи, под которой выполнен вход, либо пометка фонового/регламентного задания.
  • Компьютер — имя машины, с которой установлено подключение; помогает отличить два сеанса одного пользователя.
  • Начало сеанса — дата и время входа; «висячие» сеансы часто имеют давнее время начала при отсутствии активности.
  • Режим запуска — тонкий клиент, толстый клиент, веб-клиент, фоновое задание, соединение веб-сервиса и т. п.
  • Номер сеанса и номер соединения — технические идентификаторы, полезные при работе через консоль кластера или технологический журнал.

Отдельно выделяйте сеансы фоновых и регламентных заданий. Их завершение прерывает выполнение кода: если это обмен с другой системой, выгрузка в банк или массовая обработка документов, прерывание на середине транзакции иногда оставляет частично записанные данные. Перед удалением такого сеанса выясните по журналу регистрации, что именно выполняется.

Сеанс давно без активностиВероятно «зависший» клиент

Попросите пользователя проверить, открыта ли у него программа; если нет — сеанс можно удалять

Режим запуска «Фоновое задание»Выполняется регламентная операция

Проверьте в консоли заданий, что запущено, и оцените риск прерывания

Несколько сеансов одного пользователяПовторный вход с другого ПК или зависший сеанс

Сверьте имена компьютеров и время начала каждого сеанса

Завершение сеанса: пошаговый порядок

Сама операция занимает меньше минуты, но правильная последовательность снижает риск потери данных у коллег. Рекомендуемый порядок:

Порядок завершения сеанса
  1. 1
    Откройте конфигуратор под учётной записью администратора и перейдите в «Администрирование» → «Активные пользователи»
  2. 2
    Обновите список и найдите нужный сеанс по пользователю, компьютеру и времени начала
  3. 3
    Если сеанс принадлежит человеку — предупредите его и дайте пару минут на сохранение данных
  4. 4
    Выделите строку сеанса и нажмите «Удалить» (или соответствующую кнопку панели команд)
  5. 5
    Подтвердите операцию в диалоге, если он появится
  6. 6
    Закройте и снова откройте список, чтобы убедиться, что сеанс исчез и не появился заново

Если после удаления сеанс появляется снова, значит клиентское приложение на компьютере пользователя продолжает работать и автоматически переподключается, либо сеанс пересоздаётся регламентным заданием по расписанию. В первом случае нужно закрыть программу на самом компьютере, во втором — временно отключить соответствующее регламентное задание.

В клиент-серверном варианте помните про задержку: кластер серверов завершает сеанс не всегда мгновенно, и строка может некоторое время оставаться в списке. Не удаляйте один и тот же сеанс повторно подряд — дождитесь обновления списка через 30–60 секунд.

Блокировка соединений перед массовым отключением

Удаление сеансов по одному не решает главную проблему: пользователи тут же подключаются обратно. Если ваша цель — монопольный доступ для обновления конфигурации или загрузки данных, сначала установите блокировку соединений с информационной базой.

В конфигураторе откройте Администрирование → Блокировка установки соединений с информационной базой. Задайте время начала и окончания блокировки и текст сообщения, которое увидят пользователи при попытке входа, например: «Выполняется обновление, база будет доступна после 14:00». Для себя укажите код разрешения — произвольную строку, которую можно передать в параметре запуска /UC, чтобы войти в базу, несмотря на блокировку.

После включения блокировки новые подключения будут отклоняться, а уже активные сеансы можно завершить через список активных пользователей. В клиент-серверном варианте аналогичная блокировка настраивается в консоли кластера в свойствах информационной базы — там она действует надёжнее, поскольку управляется непосредственно сервером.

Клиент-серверный вариант: консоль кластера как альтернатива

В клиент-серверной архитектуре конфигуратор — не единственный и не всегда лучший инструмент. Консоль администрирования серверов 1С (оснастка «Администрирование серверов 1С Предприятия») даёт более полный контроль: в ней видны сеансы, соединения, рабочие процессы и блокировки по каждой базе кластера.

Чтобы завершить сеанс через консоль, раскройте дерево Кластеры → Локальный кластер → Сеансы, найдите нужный сеанс по базе, пользователю и приложению, затем через контекстное меню выберите «Удалить». Здесь же удобно фильтровать сеансы по конкретной информационной базе, если на сервере их несколько — в конфигураторе такой общей картины нет.

Дополнительное преимущество консоли — возможность посмотреть, какой рабочий процесс обслуживает сеанс и сколько памяти он потребляет. Это помогает отличить действительно зависший сеанс от медленно выполняющейся тяжёлой операции, которую прерывать нежелательно.

Где завершать сеансы

Конфигуратор (Активные пользователи)

Подходит для файловых баз и быстрых разовых действий; ограничение — нет деталей о процессах и блокировках кластера

Консоль кластера серверов

Оптимальна для клиент-серверных баз: фильтрация по базам, видны процессы и соединения; требуется доступ к серверу администрирования

Программно через код (получение сеансов)

Подходит для автоматизации и регламентных сценариев; требует прав и аккуратности, чтобы не завершить собственный сеанс

Программное завершение сеансов

Для автоматизации — например, принудительного отключения всех пользователей перед ночным обновлением — используют встроенный язык. Метод ПолучитьСеансыИнформационнойБазы() возвращает коллекцию сеансов, а блокировку устанавливают через объект БлокировкаУстановкиСоединенийСИнформационнойБазой (в клиент-серверном варианте) или УстановитьМонопольныйРежим для файловой базы.

Прямого завершения чужого сеанса из кода встроенного языка в файловом варианте нет — там помогает только монопольный режим с ожиданием. В клиент-серверном варианте завершение сеансов программно выполняется через COM-соединитель и объекты администрирования кластера (V83.COMConnector) либо через административный интерфейс RAS. Это уже задача для опытного администратора: ошибка в скрипте может отключить все сеансы, включая служебные.

bsl
// Пример: получить список сеансов и вывести их в сообщения
Сеансы = ПолучитьСеансыИнформационнойБазы();
Для Каждого Сеанс Из Сеансы Цикл
    Сообщить("Сеанс №" + Сеанс.НомерСеанса + ", пользователь: "
        + Сеанс.ИмяПользователя + ", начало: " + Сеанс.НачалоСеанса);
КонецЦикла;

Проверка результата и типичные ошибки

После завершения сеансов результат проверяется просто: список активных пользователей должен содержать только ваш сеанс (и, возможно, допустимые фоновые задания). Если готовите базу к обновлению, дополнительно попробуйте установить монопольный режим — успешная установка подтверждает, что посторонних подключений не осталось.

Контрольные точки

Как проверить результат

Список активных пользователей
Норма

Остался только ваш сеанс администратора

Тревожный признак

Сеансы пользователей появляются снова после удаления

Монопольный режим
Норма

Устанавливается без ошибок

Тревожный признак

Ошибка «Информационная база используется другими пользователями»

Блокировка соединений
Норма

Новый вход отклоняется с вашим сообщением

Тревожный признак

Пользователи входят в базу без препятствий

Ошибки при этой операции повторяются из случая в случай. Самые частые из них:

Типичные ошибки
01
Удаление сеанса без предупреждения — пользователь теряет несохранённые документы и вынужден вводить данные заново
02
Завершение сеансов без блокировки соединений — пользователи переподключаются, и монопольный режим так и не устанавливается
03
Прерывание фонового задания обмена — частично выгруженные данные и необходимость повторной регистрации изменений
04
Удаление собственного сеанса конфигуратора при массовой зачистке через скрипт — работа прерывается на середине
05
Попытка завершить сеанс по устаревшему списку — удаляется уже новый сеанс того же пользователя

Отдельная ситуация — «мёртвые» сеансы в клиент-серверном варианте, когда клиентский компьютер выключился аварийно, а сеанс продолжает числиться активным и держит блокировки. Такие сеансы кластер завершает сам по тайм-ауту, но ждать долго: проще удалить их вручную через консоль кластера или список активных пользователей.

Итог

Что важно запомнить

Сеансы завершаются через «Администрирование» → «Активные пользователи» в конфигураторе, а в клиент-серверном варианте надёжнее — через консоль кластера. Перед массовым отключением установите блокировку соединений, предупредите пользователей и проверьте фоновые задания, чтобы не потерять данные.

Частые вопросы

Почему пункт «Активные пользователи» недоступен или список пуст?

Чаще всего у учётной записи нет административных прав. Проверьте роль пользователя в разделе «Администрирование → Пользователи». В клиент-серверном варианте причиной может быть также недоступность агента сервера 1С — тогда список не открывается вовсе, и нужно проверять работу службы кластера.

Что произойдёт с данными пользователя при принудительном завершении?

Все несохранённые изменения — открытые незаписанные документы, введённые строки, настройки форм — будут потеряны без возможности восстановления. Записанные в базу данные не пострадают, но если сеанс прерван в середине транзакции, она откатится, что обычно безопасно, но может оставить незавершённой длительную обработку.

Сеанс появляется снова сразу после удаления. Что делать?

Значит, на компьютере пользователя программа продолжает работать и автоматически переподключается, либо сеанс пересоздаётся регламентным заданием. Попросите пользователя закрыть 1С, а для регламентных заданий временно отключите расписание в консоли заданий. Перед массовым отключением обязательно включите блокировку соединений.

Можно ли завершить сеансы, не заходя в конфигуратор?

Да. В клиент-серверном варианте используйте консоль администрирования серверов 1С или сервер администрирования RAS со скриптами. Для файловой базы альтернатив почти нет: можно ограничить доступ на уровне прав к каталогу базы, но это грубый способ, который не завершает уже открытые сеансы корректно.

Чем блокировка соединений отличается от монопольного режима?

Блокировка соединений запрещает новые входы в базу, но не мешает уже подключённым пользователям работать. Монопольный режим требует, чтобы в базе не было никого, кроме вас, и даёт эксклюзивный доступ для структурных изменений. На практике их комбинируют: сначала блокировка, затем завершение сеансов, затем монопольный режим.

Опасно ли завершать сеансы фоновых заданий?

Зависит от задания. Пересчёт итогов или обновление индексов обычно безопасно прервать и запустить заново. А вот обмены данными, загрузка платежей и массовые перепроведения при прерывании могут оставить частично обработанные данные. Перед завершением посмотрите в журнале регистрации, какое задание выполняется и на каком этапе оно находится.