Администрирование · 10 мин
Как выгнать пользователей из файловой базы 1С
Как завершить сеансы пользователей в файловой базе 1С: через консоль кластера нельзя, но есть обходные пути — блокировка, скрипты, отключение общего доступа.
Файловая база 1С не имеет сервера, который управлял бы подключениями, поэтому привычной кнопки «завершить сеанс» в консоли кластера у администратора нет. Каждый пользователь держит прямое подключение к файлу базы, и выгнать его можно только обходными способами: через встроенные механизмы блокировки, сетевые средства Windows или сторонние обработки.
Задача обычно возникает перед обновлением конфигурации, восстановлением из копии, тестированием и исправлением или переносом базы — во всех этих случаях требуется монопольный доступ. Ниже разобраны рабочие методы, их ограничения и типичные ошибки, которые приводят к повреждению данных.
Почему в файловом режиме нельзя просто завершить сеанс
В клиент-серверном варианте сеансами управляет агент сервера 1С, и администратор может разорвать любое соединение из консоли кластера. В файловом режиме такого посредника нет: каждый клиент напрямую открывает файл 1Cv8.1CD по сети или локально. Платформа на компьютере администратора физически не может «отобрать» файл у чужого процесса.
Единственное, что видит администратор изнутри 1С, — список активных пользователей (через меню «Администрирование — Активные пользователи» в толстом клиенте или аналог в типовых конфигурациях). Этот список показывает, кто в базе, но не даёт кнопки отключения. Поэтому все методы сводятся к трём подходам: заставить пользователей выйти самим, разорвать соединение на уровне операционной системы или не пустить их обратно после выхода.
Способ 1. Блокировка работы пользователей в типовых конфигурациях
В конфигурациях на базе Библиотеки стандартных подсистем (БСП) — это большинство типовых решений: Бухгалтерия, Зарплата и управление персоналом, Управление торговлей и другие — есть штатный механизм блокировки. Он не выгоняет пользователей мгновенно, но завершает их работу корректно и не даёт войти заново.
- 1Откройте раздел «Администрирование» — «Обслуживание» — «Блокировка работы пользователей».
- 2Установите флажок блокировки, укажите время начала и окончания, текст сообщения для пользователей.
- 3Задайте код разблокировки — по нему администратор сможет войти, пока блокировка активна.
- 4Дождитесь завершения сеансов: пользователи получат предупреждение и будут отключены по таймауту.
- 5Войдите с кодом разблокировки и выполните нужные операции.
Важный нюанс: блокировка срабатывает не мгновенно. Пользователи получают сообщение и завершаются по расписанию, заданному механизмом, — обычно в течение нескольких минут. Если кто-то оставил сеанс открытым на ночь, он тоже будет завершён, но ждать придётся. Для срочных случаев этот способ сочетают с сетевым отключением.
Если конфигурация самописная и БСП в ней нет, штатной блокировки не будет. Тогда остаются сетевые методы или внедрение обработки завершения сеансов.
Способ 2. Закрытие сетевых сессий на компьютере с базой
Когда база лежит в общей сетевой папке, подключения пользователей — это обычные SMB-сессии Windows. Их можно разорвать на том компьютере, где физически находится файл базы. Это самый быстрый способ выгнать всех разом.
Откройте на компьютере с базой «Управление компьютером» (compmgmt.msc), перейдите в «Общие папки — Сеансы» и закройте нужные сеансы или все сразу. Альтернатива — командная строка с правами администратора:
net session /deleteПосле разрыва сессии у пользователей 1С выдаст ошибку соединения с базой. Чтобы они не подключились снова, заранее снимите общий доступ с папки или ограничьте права на неё. Работать с базой в этот момент можно локально, открыв её по локальному пути на том же компьютере.
Способ 3. Обработки и регламентные механизмы завершения сеансов
Для регулярной работы удобно встроить в базу обработку принудительного завершения: она рассылает пользователям команду выхода через механизм оповещений или терминальные команды. Такие обработки есть в открытых источниках и в составе расширенных инструментов администратора. Их подключают через «Дополнительные отчеты и обработки» в типовых конфигурациях.
Если пользователи работают на терминальном сервере, у администратора есть ещё один рычаг: завершение процессов 1cv8.exe и 1cv8c.exe конкретных пользователей через диспетчер задач или диспетчер служб удалённых рабочих столов. Это жёсткий метод — несохранённые данные в открытых документах будут потеряны, — но он гарантированно освобождает базу.
Сравнение способов
Безопасно и корректно, но не мгновенно. Требует типовой конфигурации и права администратора в 1С.
Быстро и работает с любой конфигурацией, но есть риск оборвать запись. Требуется доступ к компьютеру с базой.
Гарантированный результат для терминального режима, но теряются несохранённые данные пользователей.
Удобно для регулярного применения, но требует внедрения и не работает с зависшими сеансами.
Как не пустить пользователей обратно во время работ
Выгнать всех — половина задачи: пока вы обновляете конфигурацию, кто-нибудь обязательно попытается войти. Надёжные варианты изоляции:
- активная блокировка работы пользователей в типовой конфигурации — вход возможен только с кодом разблокировки;
- отключение общего доступа к сетевой папке с базой на время работ;
- перенос папки базы или переименование файла 1Cv8.1CD — грубо, но эффективно, если база локальная и путь известен всем;
- установка монопольного режима сразу после входа — пока он держится, новые сеансы не создаются.
Комбинация «блокировка + монопольный режим» — самая управляемая схема: вы контролируете и выход пользователей, и запрет новых входов, и сами не рискуете потерять доступ.
Проверка результата и завершение работ
После отключения пользователей убедитесь, что база действительно свободна: откройте список активных пользователей — там должна остаться только ваша учётная запись. Дополнительная проверка — отсутствие открытых файлов в разделе «Общие папки — Открытые файлы» на компьютере с базой: файл 1Cv8.1CD не должен быть занят чужими сессиями.
После завершения работ снимите блокировку, верните общий доступ к папке и сообщите пользователям, что можно работать. Если проводились регламентные операции после принудительных отключений, прогоните тестирование и исправление хотя бы в режиме проверки логической и ссылочной целостности — это займёт время, но выявит последствия оборванных транзакций до того, как с ними столкнутся пользователи.
Как проверить результат
Только ваш сеанс администратора
Чужие сеансы остались — блокировка не сработала или кто-то вошёл заново
1Cv8.1CD не занят внешними сессиями
Файл открыт по сети — кто-то ещё подключён
Режим установился без ошибок
Ошибка «база занята» — ищите скрытый сеанс, в том числе свой собственный
Пользователь входит и работает штатно
Ошибки входа — проверьте, снята ли блокировка и восстановлен ли общий доступ
Частые вопросы
Можно ли выгнать пользователей из файловой базы через консоль сервера 1С?
Нет. Консоль кластера работает только с базами, опубликованными через сервер 1С:Предприятия. Файловая база в консоли не отображается, потому что её подключениями никто централизованно не управляет.
Пользователь ушёл домой, а его сеанс висит. Что делать?
Если база в сетевой папке — закройте его сессию на компьютере с базой через «Управление компьютером — Общие папки — Сеансы». Если пользователь работал на терминальном сервере, завершите его процесс 1cv8.exe. Перед этим убедитесь, что у него не было открытых на запись документов.
Блокировка установлена, но пользователи не выходят. Почему?
Механизм блокировки в типовых конфигурациях завершает сеансы с задержкой, а не мгновенно. Подождите несколько минут. Если сеансы висят дольше — вероятно, клиенты зависли, тогда поможет только разрыв сетевых сессий или завершение процессов.
Чем опасно копирование базы, пока в ней работают пользователи?
Файл 1Cv8.1CD копируется не атомарно: пока идёт копирование, пользователи продолжают писать в базу, и копия окажется в несогласованном состоянии. Такая копия может не открыться или содержать повреждённые данные. Копируйте только после полного выхода всех пользователей.
Как автоматизировать выгон пользователей для ночного обновления?
Настройте блокировку работы пользователей по расписанию в типовой конфигурации, а само обновление запускайте пакетным скриптом с параметрами командной строки конфигуратора. Скрипт должен включать создание резервной копии до начала обновления.
Стоит ли ради удобства управления сеансами переходить на клиент-серверный режим?
Если с базой одновременно работает больше 5–10 человек и регулярно нужны регламентные операции, клиент-серверный вариант заметно упрощает администрирование: завершение сеансов, блокировки и резервное копирование становятся штатными операциями. Для небольшой базы с несколькими пользователями файлового режима обычно достаточно.
Что важно запомнить
Прямого способа завершить сеанс в файловой базе 1С нет. Используйте блокировку работы пользователей в типовых конфигурациях, разрыв сетевых сессий на компьютере с базой или завершение процессов на терминальном сервере. Перед принудительным отключением предупредите пользователей, перед обновлением сделайте копию, после работ — проверьте целостность базы и снимите блокировку.