Администрирование · 11 мин
Как выгнать всех пользователей из файловой базы 1С
Способы завершить сеансы пользователей в файловой базе 1С: консоль кластера, блокировка сеансов, код 1С, пакетные скрипты. Риски, проверка результата, FAQ.
Завершить сеансы пользователей в файловой базе 1С чаще всего требуется перед обновлением конфигурации, загрузкой данных, архивированием или восстановлением из копии. Файловый режим принципиально отличается от клиент-серверного: в нём нет сервера 1С, который централизованно управляет сеансами, поэтому набор доступных инструментов уже, а риск повредить файл базы при грубом вмешательстве выше.
Наиболее безопасный подход — попросить пользователей выйти штатно, а затем установить блокировку входа, чтобы никто не зашёл обратно. Когда это невозможно (пользователь ушёл, оставив сеанс открытым, или база заблокирована «зависшим» процессом), применяют программные способы: обработку завершения сеансов, встроенный механизм завершения работы, скрипты завершения процессов 1cv8.exe на рабочих станциях.
Важно понимать: принудительное завершение процесса 1С на компьютере пользователя может привести к потере несохранённых данных в открытых документах. Кроме того, аварийное завершение всех сеансов в момент записи в файл базы — один из факторов риска повреждения файла 1Cv8.1CD. Поэтому перед любыми принудительными действиями сделайте резервную копию каталога базы.
Что нужно сделать до завершения сеансов
Первый шаг — определить, кто именно работает в базе. В типовых конфигурациях на БСП (Управление торговлей, Бухгалтерия, ERP) откройте «Администрирование → Обслуживание → Активные пользователи». Там виден список сеансов с именами пользователей, компьютерами и временем начала работы. Это позволяет отличить реально работающих людей от «зависших» сеансов, оставшихся после аварийного закрытия программы.
Второй шаг — сделать резервную копию. Для файловой базы это просто копирование каталога с файлом 1Cv8.1CD в другое место. Копию нужно делать, когда в базе никто не работает, либо принимать риск, что часть последних изменений не попадёт в копию. Если планируется принудительное завершение процессов, копия обязательна: аварийный обрыв записи способен повредить файл базы.
Третий шаг — предупредить пользователей. Отправьте сообщение в корпоративный чат или по почте с указанием времени, когда база будет недоступна. Это дешевле, чем потом восстанавливать несохранённые документы и разбираться с претензиями.
Блокировка входа в базу, чтобы пользователи не заходили обратно
Завершить сеансы недостаточно: пользователи тут же откроют программу заново. Поэтому стандартная схема — сначала заблокировать новые подключения, потом завершать активные сеансы.
В типовых конфигурациях блокировка включается через «Администрирование → Обслуживание → Блокировка работы пользователей» (в разных версиях БСП пункт может называться «Блокировка установки соединений с информационной базой»). Установите флаг блокировки, укажите текст сообщения для пользователей и код разрешения — строку, с которой администратор сможет войти в базу, пока блокировка действует.
Альтернатива — запуск конфигуратора с параметром блокировки соединений. Для файловой базы это делается командой пакетного запуска конфигуратора с ключом /UC и кодом разрешения. Такой способ удобен для автоматизации ночных регламентных операций.
"C:\Program Files\1cv8\8.3.22.1750\bin\1cv8.exe" DESIGNER /F "D:\Bases\Trade" /N Администратор /P пароль /UC КодБлокировкиПосле установки блокировки новые сеансы не создаются: пользователь при входе увидит заданное вами сообщение. Существующие сеансы блокировка не разрывает — их нужно завершать отдельно.
Как завершить активные сеансы штатными средствами
В конфигурациях на БСП в форме «Активные пользователи» есть возможность завершить сеанс выбранного пользователя. Это самый мягкий программный способ: платформа корректно закрывает сеанс, пользователь видит сообщение о завершении работы и может сохранить данные, если успеет отреагировать до окончания отсчёта.
Ещё один штатный механизм — «Завершение работы пользователей» через функциональность БСП, где можно задать время, через которое программа у всех пользователей закроется автоматически. Пользователи получают предупреждение с обратным отсчётом и успевают сохранить документы. Это оптимальный вариант для плановых работ.
- 1Предупредите пользователей о времени работ
- 2Сделайте резервную копию каталога базы
- 3Включите блокировку установки соединений с кодом разрешения
- 4В списке активных пользователей завершите оставшиеся сеансы
- 5Проверьте, что сеансов не осталось, и приступайте к работам
Если конфигурация самописная и типовых механизмов нет
В конфигурациях без БСП встроенной формы активных пользователей может не быть. Тогда список сеансов получают программно через метод ПолучитьСеансыИнформационнойБазы(), а завершение выполняют либо внешней обработкой, либо скриптами на уровне операционной системы. Готовые обработки завершения сеансов для файловых баз широко доступны на профильных ресурсах для разработчиков.
Принудительное завершение процессов 1cv8.exe
Когда пользователь недоступен, а сеанс висит, единственный способ его снять — завершить процесс 1cv8.exe на его компьютере. Локально это делается через диспетчер задач (Ctrl+Shift+Esc → найти процесс 1cv8.exe → «Снять задачу»). Если компьютеров несколько, удобнее использовать удалённое завершение через командную строку.
Для доменной сети администратор может выполнить на удалённой машине команду taskkill через PsExec или штатные средства удалённого управления. Пример команды для завершения всех процессов 1С на конкретном компьютере:
taskkill /S COMPUTER01 /U DOMAIN\Admin /IM 1cv8.exe /FКлюч /F принудительно завершает процесс без сохранения данных. Это радикальная мера: все несохранённые документы пользователя будут потеряны. Используйте её только после того, как убедились, что пользователь не работает (компьютер заблокирован, сеанс старый), и после создания резервной копии базы.
Для массового завершения по списку компьютеров пишут простой пакетный скрипт с циклом по именам машин. Такой скрипт удобно запускать перед ночным обновлением, но его обязательно тестируют на одной машине, чтобы не завершить случайно другие процессы.
Автоматизация через пакетный запуск и планировщик
Если завершать сеансы приходится регулярно (перед ночным обменом, архивацией, обновлением), ручные действия стоит заменить сценарием. Типовая схема автоматизации выглядит так: скрипт устанавливает блокировку соединений, ждёт несколько минут, завершает оставшиеся процессы на известных машинах, выполняет обслуживание и снимает блокировку.
Снятие блокировки выполняется тем же запуском конфигуратора с параметром /UC и пустым кодом либо через снятие флага в настройках базы. Не забудьте этот шаг: забытая блокировка — частая причина утренних звонков «база не пускает».
Скрипты запускают через планировщик заданий Windows на сервере или машине администратора. Учётная запись, от имени которой работает задание, должна иметь права на удалённое завершение процессов и доступ к каталогу базы.
Зависшие сеансы в файловой базе часто остаются от компьютеров, которые выключили кнопкой питания. Такие «мёртвые» сеансы сами не мешают работе, но блокируют монопольный режим. Перед обновлением проверяйте список активных пользователей и завершайте сеансы с недоступных машин в первую очередь.
Как проверить, что все сеансы завершены
Главный признак успеха — возможность открыть конфигуратор в монопольном режиме. Если при попытке обновления или входа конфигуратор сообщает об ошибке монопольного доступа, значит, в базе остался хотя бы один сеанс. Вернитесь к списку активных пользователей и найдите, кто остался.
Дополнительная проверка — отсутствие процессов 1cv8.exe на машинах пользователей и отсутствие блокировок файла 1Cv8.1CD. Если база расположена на сетевом ресурсе, на файловом сервере через «Управление компьютером → Открытые файлы» видно, кто держит файл базы.
Как проверить результат
Сеансов нет или остался только ваш
Есть чужие сеансы — завершайте повторно
Вход выполнен без ошибок
Ошибка монопольного доступа — сеанс где-то остался
Файл 1Cv8.1CD никем не открыт
Файл занят — ищите машину по имени в списке
Типичные ошибки и ограничения файлового режима
Главное ограничение файлового режима — нет централизованной консоли сеансов, как в клиент-серверном варианте. Нельзя одной кнопкой разорвать все соединения: приходится комбинировать блокировку, штатное завершение и скрипты по машинам.
Ещё одна ошибка — попытка удалить или скопировать файл базы, пока его держат открытые сеансы. Файловая система либо не даст выполнить операцию, либо скопирует файл в несогласованном состоянии. Сначала завершайте сеансы, потом работайте с файлом.
Что важно запомнить
Правильный порядок: резервная копия → блокировка соединений → штатное завершение сеансов → при необходимости принудительный taskkill → проверка монопольного доступа → работы → снятие блокировки. Принудительное завершение процессов без копии базы — главный источник риска в файловом режиме.
Частые вопросы
Можно ли выгнать пользователей из файловой базы одной кнопкой?
Полноценной централизованной команды, как в консоли кластера сервера 1С, в файловом режиме нет. Ближайший аналог — блокировка установки соединений плюс завершение сеансов из списка активных пользователей в конфигурациях на БСП. Для полной автоматизации используют скрипты завершения процессов на рабочих станциях.
Пользователь ушёл домой, компьютер выключен, а сеанс висит. Что делать?
Если компьютер выключен корректно, сеанс обычно завершается сам. Если машина была выключена аварийно, «мёртвый» сеанс может остаться в списке и мешать монопольному режиму. Такой сеанс завершают из списка активных пользователей; если это не помогает, проверяют, не остался ли процесс 1cv8.exe на другой машине, открывшей базу по сети.
Опасно ли убивать процесс 1cv8.exe через диспетчер задач?
Для пользователя это означает потерю всех несохранённых данных. Для базы риск появляется, если в момент завершения шла запись в файл 1Cv8.1CD — возможны ошибки формата потока. Перед принудительным завершением всегда делайте копию каталога базы.
Чем блокировка соединений отличается от монопольного режима?
Блокировка запрещает создание новых сеансов, но не трогает существующие — её используют, чтобы подготовить базу к обслуживанию. Монопольный режим требует, чтобы в базе вообще не было других сеансов, и нужен для обновления конфигурации и некоторых сервисных операций.
Как войти в базу, пока действует блокировка?
При запуске укажите код разрешения, заданный при установке блокировки. В ярлыке или командной строке это параметр /UC с кодом. После завершения работ блокировку снимают, иначе остальные пользователи не смогут войти.
Что делать, если после принудительного завершения база не открывается?
Не запускайте базу повторно и не пытайтесь «лечить» её на живом файле. Сначала скопируйте файл 1Cv8.1CD в отдельный каталог, затем на копии выполните тестирование и исправление через конфигуратор или утилиту chdbfl.exe из каталога bin платформы. Если восстановить не удаётся — разворачивайте резервную копию.