Администрирование · 11 мин
Как завершить сеанс пользователя в файловой базе 1С
Как завершить сеанс пользователя в файловой базе 1С: через консоль кластера, конфигуратор, блокировку сеансов и программно. Риски, ошибки и проверка результата.
Сеанс пользователя в файловой базе 1С — это активное подключение к файлу информационной базы (1Cv8.1CD). Пока сеанс открыт, файл базы заблокирован: нельзя выполнить обновление конфигурации, загрузку данных, восстановление из копии и ряд других административных операций. Поэтому умение корректно завершать сеансы — базовый навык администратора или ответственного за 1С в небольшой компании.
Ключевая особенность файлового режима: в нём нет сервера 1С, а значит, нет централизованного менеджера сеансов. Каждый пользователь открывает файл базы напрямую со своего компьютера. Из-за этого завершить чужой сеанс «изнутри» одной кнопкой сложнее, чем в клиент-серверном варианте, и приходится использовать комбинацию штатных средств платформы и системных инструментов Windows.
Прежде чем разрывать сеансы, важно понять, кто именно подключён к базе и что делает. Принудительное завершение во время записи документов или проведения может привести к незавершённым транзакциям, а в худшем случае — к повреждению файла базы. Ниже разобраны все рабочие способы: от мягкой просьбы выйти до принудительного снятия процесса, с указанием рисков каждого.
Как посмотреть, кто сейчас работает в базе
Первый шаг всегда одинаковый — определить список активных сеансов. Откройте базу в режиме «Конфигуратор» и перейдите в меню Администрирование → Активные пользователи. Откроется таблица со списком подключений: имя пользователя, компьютер, приложение (тонкий клиент, толстый клиент, фоновое задание, COM-соединение), время начала сеанса и режим работы.
Обратите внимание на колонку «Приложение». Там могут быть не только интерактивные сеансы пользователей, но и фоновые задания, сеансы отладки, COM-соединения от внешних программ (например, обменов с сайтом). Принудительно разрывать COM-соединение посреди обмена так же опасно, как и сеанс пользователя во время проведения документов.
Аналогичный список доступен и в режиме «Предприятие», если в конфигурации есть стандартная подсистема (в типовых решениях на БСП это раздел «Администрирование → Обслуживание → Активные пользователи»). Это удобно, когда конфигуратор запускать не хочется или нет прав на него.
Завершение сеанса через список активных пользователей
В типовых конфигурациях на базе Библиотеки стандартных подсистем (БСП) в форме «Активные пользователи» доступна кнопка завершения сеанса. Администратор выделяет нужную строку и нажимает «Завершить сеанс». Платформа отправляет в сеанс команду на закрытие, и у пользователя появляется предупреждение о завершении работы администратором.
Важно понимать ограничение: в файловом варианте такая команда работает как «вежливое» завершение — клиентское приложение получает сигнал и закрывается. Если приложение зависло и не отвечает, команда может не сработать. В этом случае придётся завершать процесс на стороне компьютера пользователя.
После завершения обновите список активных пользователей и убедитесь, что строка исчезла. Если сеанс «висит» в списке, но пользователь утверждает, что программа закрыта, — вероятно, это зависший процесс, и файл базы всё ещё заблокирован.
- 1Откройте базу в режиме Конфигуратор под учётной записью с правами администратора
- 2Перейдите: Администрирование → Активные пользователи
- 3Найдите нужный сеанс по имени пользователя и компьютеру
- 4Если кнопка завершения доступна — нажмите «Завершить сеанс» и подтвердите действие
- 5Обновите список и убедитесь, что сеанс исчез
- 6Если сеанс остался — переходите к завершению процесса на компьютере пользователя
Блокировка сеансов: как не пустить пользователей обратно
Завершить текущие сеансы — половина задачи. Пока вы выполняете обновление или обслуживание, пользователи будут пытаться войти снова. Чтобы этого не произошло, используется механизм блокировки соединений с информационной базой.
В типовых конфигурациях на БСП: Администрирование → Обслуживание → Блокировка работы пользователей. Установите флаг блокировки, укажите время начала и окончания, а также код разблокировки — временный параметр запуска, по которому администратор сам сможет войти в базу. Пользователи, уже находящиеся в базе, получат предупреждение с просьбой завершить работу.
Есть и платформенный механизм: в конфигураторе через Администрирование → Параметры информационной базы можно задать сообщение о блокировке и период действия. Параметр запуска /UC с кодом разблокировки позволяет войти в заблокированную базу, например: 1cv8.exe DESIGNER /F"путь к базе" /UC КодБлокировки.
Принудительное завершение процесса на компьютере пользователя
Если сеанс завис или пользователь недоступен, сеанс завершается снятием процесса 1С на его компьютере. На самом компьютере: откройте «Диспетчер задач» (Ctrl+Shift+Esc), найдите процесс 1cv8.exe (или 1cv8c.exe для тонкого клиента) и нажмите «Снять задачу».
Удалённо это можно сделать через командную строку с правами администратора домена или локального администратора целевой машины:
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 завис на компьютере пользователя (например, из-за сетевого сбоя при работе с базой по сети). Лечится снятием процесса на той машине.
Вторая типовая ошибка — работа с базой по сети без учёта блокировок. Если база лежит в общей папке и у пользователя пропала сеть, сеанс может «повиснуть» надолго. В таких случаях помогает перезагрузка компьютера пользователя или завершение процесса, а иногда — перезапуск общего доступа к папке.
Проверка результата и восстановление после сбоев
После завершения всех сеансов проверьте три вещи: список активных пользователей пуст (кроме вашего сеанса), файл базы доступен для копирования без ошибки «файл занят», а в каталоге базы нет «лишних» временных файлов. Если всё так — можно выполнять обновление или обслуживание.
Если после принудительного завершения база не открывается или выдаёт ошибку «Ошибка формата потока», запустите утилиту chdbfl.exe из каталога bin платформы: укажите файл 1Cv8.1CD и выполните проверку с исправлением ошибок. Перед этим обязательно сделайте копию файла. Также доступна проверка через конфигуратор: Администрирование → Тестирование и исправление.
Как проверить результат
Нет чужих сеансов, только ваш
Сеанс «висит» после выхода пользователя — зависший процесс на его ПК
Файл копируется без ошибок
Ошибка «файл занят другим процессом» — сеанс не завершён
База открывается штатно
Ошибка формата потока — нужна проверка chdbfl.exe
Что важно запомнить
Порядок безопасной работы: посмотреть активных пользователей → предупредить и попросить выйти → установить блокировку сеансов → завершить оставшиеся сеансы штатно → только в крайнем случае снимать процесс принудительно, предварительно сделав копию базы. После завершения всегда проверяйте, что файл базы свободен.
Частые вопросы
Почему в файловой базе нет кнопки «Завершить сеанс», как на сервере 1С?
В клиент-серверном варианте сеансами управляет агент сервера 1С, и консоль кластера позволяет разорвать любой сеанс централизованно. В файловом режиме такого посредника нет — каждый сеанс открывает файл напрямую, поэтому принудительное завершение возможно только на компьютере, где запущен процесс. Кнопка завершения в списке активных пользователей БСП лишь отправляет сеансу команду на закрытие.
Можно ли завершить сеанс пользователя, не заходя в его базу?
Да, если у вас есть административный доступ к компьютеру пользователя: удалённо через taskkill /S, PowerShell или диспетчер задач с подключением к удалённой машине. Из самой 1С без открытия базы управлять сеансами файлового режима нельзя.
Что делать, если пользователь ушёл домой, а его сеанс блокирует обновление?
Удалённо завершите процесс 1cv8.exe на его компьютере (если он включён и доступен по сети) либо перезагрузите этот компьютер. Если машина выключена, а сеанс всё равно «висит», — обычно это следствие сетевого сбоя; помогает перезапуск общего доступа к папке с базой или ожидание таймаута, после чего блокировка снимается.
Опасно ли завершать сеанс через «Снять задачу» в диспетчере задач?
Для пользователя это равнозначно внезапному закрытию программы: все несохранённые данные пропадут. Для базы риск возникает только если в момент снятия процесса шла запись в файл. Поэтому перед принудительным завершением убедитесь, что пользователь не проводит документы и не запускал обмены, а лучше — сделайте резервную копию.
Как автоматически завершать все сеансы ночью перед резервным копированием?
Настройте на компьютерах пользователей или централизованно скрипт, выполняемый планировщиком заданий: taskkill /IM 1cv8.exe /F (или Stop-Process в PowerShell) с последующим копированием файла базы. Дополнительно можно заранее включать блокировку сеансов в типовой конфигурации, чтобы никто не вошёл между завершением процессов и копированием.
Чем отличается завершение сеанса от блокировки сеансов?
Завершение разрывает уже существующие подключения. Блокировка запрещает новые входы в базу на заданный период и предлагает текущим пользователям выйти, но не разрывает их сеансы принудительно. Для обслуживания базы обычно нужны оба действия: сначала блокировка, затем завершение оставшихся сеансов.