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

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

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

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

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

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

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

Как посмотреть, кто сейчас работает в базе

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

Обратите внимание на колонку «Приложение». Там могут быть не только интерактивные сеансы пользователей, но и фоновые задания, сеансы отладки, COM-соединения от внешних программ (например, обменов с сайтом). Принудительно разрывать COM-соединение посреди обмена так же опасно, как и сеанс пользователя во время проведения документов.

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

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

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

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

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

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

Блокировка сеансов: как не пустить пользователей обратно

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

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

Есть и платформенный механизм: в конфигураторе через Администрирование → Параметры информационной базы можно задать сообщение о блокировке и период действия. Параметр запуска /UC с кодом разблокировки позволяет войти в заблокированную базу, например: 1cv8.exe DESIGNER /F"путь к базе" /UC КодБлокировки.

Принудительное завершение процесса на компьютере пользователя

Если сеанс завис или пользователь недоступен, сеанс завершается снятием процесса 1С на его компьютере. На самом компьютере: откройте «Диспетчер задач» (Ctrl+Shift+Esc), найдите процесс 1cv8.exe (или 1cv8c.exe для тонкого клиента) и нажмите «Снять задачу».

Удалённо это можно сделать через командную строку с правами администратора домена или локального администратора целевой машины:

cmd
taskkill /S ИМЯ_КОМПЬЮТЕРА /IM 1cv8.exe /F

Ключ /F принудительно завершает процесс без сохранения данных. Все несохранённые документы и открытые формы пользователя будут потеряны. Используйте этот способ только когда пользователь предупреждён или сеанс заведомо завис.

Альтернатива — PowerShell: Invoke-Command -ComputerName ИМЯ_ПК -ScriptBlock { Stop-Process -Name "1cv8" -Force }. Это удобно, когда нужно завершить сеансы сразу на нескольких машинах скриптом.

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

В клиент-серверном режиме есть API кластера, но в файловом варианте программные возможности ограничены. Доступные варианты:

  • Механизм БСП «Завершение работы пользователей» — в типовых конфигурациях при установке блокировки активные сеансы получают команду на завершение по таймеру. Это самый управляемый программный способ.
  • Функция ЗавершитьРаботуСистемы() — встроенный метод, который можно вызвать в сеансе пользователя, например через обработку, запущенную по регламенту. Завершает только тот сеанс, в котором выполнена.
  • Внешние скрипты — bat/ps1-скрипты с taskkill или Stop-Process, запускаемые по расписанию ночью перед созданием резервной копии.

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

Типичные ошибки и проблемные ситуации

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

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

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

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

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

Если после принудительного завершения база не открывается или выдаёт ошибку «Ошибка формата потока», запустите утилиту chdbfl.exe из каталога bin платформы: укажите файл 1Cv8.1CD и выполните проверку с исправлением ошибок. Перед этим обязательно сделайте копию файла. Также доступна проверка через конфигуратор: Администрирование → Тестирование и исправление.

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

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

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

Нет чужих сеансов, только ваш

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

Сеанс «висит» после выхода пользователя — зависший процесс на его ПК

Копирование файла 1Cv8.1CD
Норма

Файл копируется без ошибок

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

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

Открытие базы после сбоя
Норма

База открывается штатно

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

Ошибка формата потока — нужна проверка chdbfl.exe

Итог

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

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

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

Почему в файловой базе нет кнопки «Завершить сеанс», как на сервере 1С?

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

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

Да, если у вас есть административный доступ к компьютеру пользователя: удалённо через taskkill /S, PowerShell или диспетчер задач с подключением к удалённой машине. Из самой 1С без открытия базы управлять сеансами файлового режима нельзя.

Что делать, если пользователь ушёл домой, а его сеанс блокирует обновление?

Удалённо завершите процесс 1cv8.exe на его компьютере (если он включён и доступен по сети) либо перезагрузите этот компьютер. Если машина выключена, а сеанс всё равно «висит», — обычно это следствие сетевого сбоя; помогает перезапуск общего доступа к папке с базой или ожидание таймаута, после чего блокировка снимается.

Опасно ли завершать сеанс через «Снять задачу» в диспетчере задач?

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

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

Настройте на компьютерах пользователей или централизованно скрипт, выполняемый планировщиком заданий: taskkill /IM 1cv8.exe /F (или Stop-Process в PowerShell) с последующим копированием файла базы. Дополнительно можно заранее включать блокировку сеансов в типовой конфигурации, чтобы никто не вошёл между завершением процессов и копированием.

Чем отличается завершение сеанса от блокировки сеансов?

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