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

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

Как завершить работу пользователей в конфигураторе 1С

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

Завершить работу пользователей в 1С требуется при обновлении конфигурации, восстановлении базы из копии, регламентных операциях с СУБД и при «зависших» сеансах, которые блокируют объекты. Способ зависит от режима работы базы: в файловом варианте используют диалог активных пользователей, в клиент-серверном — консоль кластера серверов 1С, а для автоматизации применяют процедуры стандартных подсистем или прямое завершение сеансов программным кодом.

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

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

Определите режим работы базы: файловый или клиент-серверный

Набор доступных инструментов напрямую зависит от того, где размещена информационная база. Узнать режим можно прямо в конфигураторе: откройте меню «Администрирование» и посмотрите, есть ли пункт «Параметры информационной базы» с указанием сервера, либо откройте окно «О программе» в режиме предприятия — там указан тип размещения. Также путь к базе виден в стартовом окне выбора информационных баз: файловая база указывает на каталог с файлом 1Cv8.1CD, клиент-серверная — на имя сервера и имя базы.

Для файловой базы сеансы — это процессы 1cv8.exe на компьютерах пользователей, которые держат открытым файл базы. Для клиент-серверной базы сеансы обслуживает рабочий процесс кластера rphost, и управлять ими нужно централизованно через консоль кластера. Путать эти механизмы нельзя: удаление сеанса в консоли кластера не сработает для файловой базы, а диалог активных пользователей в файловом режиме не имеет кнопки принудительного завершения.

Завершение через список активных пользователей в конфигураторе

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

В файловом режиме этот диалог позволяет только просматривать сеансы и отправлять сообщения — кнопки принудительного завершения здесь нет. Чтобы вывести пользователей из файловой базы, нужно либо попросить их выйти самостоятельно (с предупреждением через механизм сообщений или внешними средствами), либо воспользоваться типовой обработкой «Блокировка работы пользователей», если в конфигурацию встроена Библиотека стандартных подсистем.

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

Завершение сеансов в консоли кластера серверов 1С

Для клиент-серверной базы основной инструмент — консоль администрирования серверов 1С:Предприятия. Она устанавливается вместе с сервером и доступна на машине администратора. Откройте консоль, разверните нужный кластер, найдите ветку «Сеансы» — в ней перечислены все активные сеансы всех баз кластера.

Чтобы завершить конкретный сеанс, выделите строку в списке и выберите «Удалить» в контекстном меню. Чтобы вывести всех пользователей конкретной базы, отфильтруйте список по имени информационной базы (колонка «Информационная база»), выделите все строки через Ctrl+A и удалите их. Сеанс разрывается немедленно: у пользователя на экране появится сообщение о разрыве соединения с сервером, а несохранённые данные в открытых формах будут потеряны.

Учтите, что после удаления сеанса пользователь может сразу переподключиться, если у него запущен клиент с автоматическим восстановлением соединения. Поэтому для регламентных работ удаление сеансов всегда сочетают с блокировкой соединений — иначе вы будете «выгонять» одних и тех же пользователей по кругу.

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

Блокировка соединений, чтобы пользователи не заходили заново

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

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

Код разрешения — критичный элемент: без него вы сами не сможете войти в заблокированную базу для выполнения обновления. Запуск с кодом выполняется параметром командной строки /UC<код> или через диалог ввода кода, который предложит платформа. Запишите код до установки блокировки и проверьте вход с ним на тестовом клиенте.

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

Для регулярных операций — ночных обновлений, регламентного обслуживания — ручные действия заменяют скриптами. В типовых конфигурациях с БСП есть программный интерфейс: процедуры модуля «СоединенияИБ» позволяют получить список сеансов, отправить сообщения и завершить сеансы с задержкой. Установка блокировки выполняется через метод «УстановитьБлокировкуСоединений» того же модуля.

Для клиент-серверных баз удобна утилита RAC из состава сервера 1С — она управляет кластером из командной строки: получает список сеансов, удаляет их, включает блокировку. На её основе строят bat- или PowerShell-скрипты для планировщика задач. Типовая последовательность скрипта: включить блокировку соединений, подождать несколько минут, удалить оставшиеся сеансы, выполнить обновление конфигурации в пакетном режиме конфигуратора, снять блокировку.

bash
rac session --cluster=<ID_кластера> list --infobase=<ID_базы>
rac session --cluster=<ID_кластера> terminate --session=<ID_сеанса>

В файловом варианте без БСП остаётся внешний вариант: скрипт, который завершает процессы 1cv8.exe на терминальном сервере через taskkill. Это грубый метод — процесс завершается без штатного закрытия клиента, поэтому применяйте его только когда других средств нет, и только после предупреждения пользователей.

Маршрут решения

Как выбрать способ завершения

Файловая база, конфигурация на БСПИспользуйте обработку «Блокировка работы пользователей» — она предупредит и завершит сеансы штатно
Клиент-серверная база, разовая операцияУстановите блокировку в свойствах базы в консоли кластера и удалите сеансы вручную
Регулярные ночные обновления клиент-серверной базыНапишите скрипт на RAC: блокировка → пауза → удаление сеансов → обновление → снятие блокировки
Файловая база без БСП и пользователи не выходятПредупредите пользователей и завершите процессы 1cv8.exe на терминальном сервере через taskkill

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

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

Частая ошибка — завершение только пользовательских сеансов при работающих фоновых заданиях. Регламентные задания держат соединения с базой и мешают монопольному режиму. В свойствах базы в консоли кластера есть отдельный флаг блокировки регламентных заданий — включайте его вместе с блокировкой соединений.

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

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

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

Список сеансов в консоли кластера
Норма

Нет сеансов целевой базы, список не пополняется

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

Сеансы появляются снова — ищите источник переподключения

Вход обычного пользователя
Норма

Появляется сообщение о блокировке с заданным текстом

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

Вход выполняется — блокировка не установлена

Вход с кодом разрешения
Норма

База открывается для администратора

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

Код не принимается — проверьте параметр /UC и регистр символов

Фоновые задания
Норма

Регламентные задания заблокированы, активных фоновых нет

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

Задание выполняется — монопольный режим недоступен

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

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

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

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

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

Опасно ли принудительное завершение сеансов для целостности базы?

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

Как выгнать пользователей из файловой базы, если в конфигурации нет БСП?

Штатной кнопки завершения в файловом режиме нет. Варианты: попросить пользователей выйти (сообщение через диалог активных пользователей или корпоративные каналы), отключить общий доступ к каталогу базы на время работ, либо завершить процессы 1cv8.exe на терминальном сервере через диспетчер задач или taskkill. Последний способ — крайняя мера.

Почему конфигуратор не даёт обновить конфигурацию базы, хотя все вышли?

Чаще всего остался фоновый сеанс: регламентное задание, сеанс отладки, незакрытый конфигуратор на другом компьютере или «висячий» сеанс аварийно завершённого клиента. Откройте список сеансов в консоли кластера или активных пользователей и завершите всё лишнее, включая сеансы с типом «Фоновое задание».

Как автоматически завершать сеансы по расписанию, например ночью?

Настройте задание планировщика Windows, которое запускает скрипт на базе утилиты RAC: установка блокировки соединений, пауза, удаление оставшихся сеансов. После регламентных работ скрипт снимает блокировку. Для баз на БСП часть логики можно реализовать внутренними средствами через модуль «СоединенияИБ».

Итог

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

Файловая база управляется через диалог активных пользователей и блокировку БСП, клиент-серверная — через консоль кластера и RAC. Всегда сочетайте завершение сеансов с блокировкой новых соединений, сохраняйте код разрешения и проверяйте результат по списку сеансов перед обновлением.