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

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

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

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

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

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

Как устроены сеансы в файловой базе

В файловом режиме каждый пользователь работает с базой напрямую через файл 1Cv8.1CD, расположенный в общей папке или на локальном диске. Информация о подключениях хранится в служебном файле 1Cv8.1CL — это список соединений, который платформа ведёт автоматически. Централизованного сервера, который мог бы «отвоевать» сеансы, здесь нет.

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

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

Способ 1. Обработка «Активные пользователи» в типовых конфигурациях

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

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

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

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

Способ 2. Блокировка соединений через параметр базы

Если конфигурация не типовая и обработки нет, блокировку можно установить штатной командой платформы. Для файловой базы предусмотрен параметр запуска конфигуратора: /UC с кодом разрешения — но он работает для клиент-серверных баз через агента сервера. Для файловой базы блокировка устанавливается программно из кода: объект БлокировкаСеансов через ПолучитьБлокировкуСеансов() и УстановитьБлокировкуСеансов().

Простой вариант — запустить внешнюю обработку или выполнить код через «Выполнить произвольный код» (если такой инструмент есть в конфигурации):

bsl
Блокировка = Новый БлокировкаСеансов;
Блокировка.Установлена = Истина;
Блокировка.Начало = ТекущаяДатаСеанса();
Блокировка.КодРазрешения = "Обслуживание";
Блокировка.Сообщение = "Идёт обновление базы, попробуйте позже";
УстановитьБлокировкуСеансов(Блокировка);

После этого новые сеансы не смогут стартовать без параметра запуска /UC Обслуживание — вы сами зайдёте с этим ключом, а пользователи получат ваше сообщение. Не забудьте снять блокировку после работ: установите Блокировка.Установлена = Ложь или снимите её через ту же обработку.

Способ 3. Завершение процессов на компьютерах пользователей

Когда программные методы недоступны или пользователь ушёл, оставив сеанс открытым, процесс 1С можно завершить на его компьютере. Локально это делается через диспетчер задач: найти процесс 1cv8.exe (или 1cv8c.exe для тонкого клиента) и снять задачу.

Удалённо, если у вас есть права администратора в сети, процесс завершается командой с вашей машины:

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

Для PowerShell доступен вариант Get-Process 1cv8 -ComputerName ПК01 | Stop-Process -Force. Этот способ грубый: пользователь потеряет несохранённые документы, а при обрыве во время записи теоретически возможны ошибки, которые потребуют тестирования и исправления базы. Применяйте его, когда мягкие способы не сработали.

Способ 4. Удаление файла 1Cv8.1CL как аварийный метод

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

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

Альтернатива для сетевой папки — закрыть открытые файлы на стороне сервера или файлового хранилища: в оснастке Windows «Управление компьютером» → «Общие папки» → «Открытые файлы» можно разорвать сетевые сеансы к папке с базой.

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

Как проверить, что все вышли и база готова к обслуживанию

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

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

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

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

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

Только ваш сеанс

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

Чужие или фантомные сеансы

Установка монопольного режима
Норма

Режим установлен без ошибок

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

Ошибка «нарушение монопольного доступа»

Вход пользователя во время блокировки
Норма

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

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

Вход выполняется свободно

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

Пользователи входят штатно

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

Ошибка блокировки у всех

Профилактика: как не выгонять пользователей вручную каждый раз

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

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

Итог

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

В файловой 1С пользователей отключают обработкой «Активные пользователи» с блокировкой входа — это основной безопасный способ. Принудительное завершение процессов и удаление 1Cv8.1CL — запасные варианты с риском потери данных. Перед обслуживанием всегда проверяйте монопольный режим, после — снимайте блокировку.

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

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

Как выбрать действие

Конфигурация типовая и доступен раздел «Активные пользователи»Завершите сеансы обработкой и установите блокировку входа
Пользователь ушёл, а сеанс остался висетьУдалённо завершите процесс 1cv8.exe на его компьютере
Сеансы фантомные и монопольный режим не ставитсяУбедитесь, что активных пользователей нет, и удалите файл 1Cv8.1CL
Нужно регулярное обслуживаниеНастройте таймаут завершения простаивающих сеансов и планируйте работы на нерабочее время
Можно ли выгнать пользователей через консоль кластера в файловой базе?

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

Что будет, если удалить файл 1Cv8.1CL при работающих пользователях?

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

Почему после блокировки пользователи всё равно заходят в базу?

Либо блокировка не сохранена (проверьте, что она установлена и период охватывает текущее время), либо пользователи знают код разрешения и входят с параметром /UC. Смените код разрешения и не сообщайте его никому, кроме администраторов.

Как зайти в базу, если забыл снять блокировку?

Запустите 1С с параметром /UC и кодом разрешения, указанным при установке блокировки, затем снимите её. Если код утерян, блокировку можно сбросить программно через конфигуратор с внешней обработкой, устанавливающей БлокировкаСеансов.Установлена = Ложь.

Можно ли завершить сеансы автоматически по расписанию?

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

Чем отличается «завершить сеанс» от «завершить сеанс принудительно» в обработке?

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