Разберем ситуацию, когда необходимо выполнить регламентные работы, обновление или монопольное обслуживание файловой информационной базы 1С:Предприятие 8.3, но в ней продолжают работать пользователи. В отличие от клиент-серверного варианта, где администратор кластера может мгновенно завершить активные сеансы через консоль администрирования, файловый режим имеет технические ограничения. Файловая база не имеет отдельного сервера приложений, поэтому прямой кнопки «Выгнать всех пользователей» по умолчанию в платформе нет.
Рассмотри основные эффективные способы решения этой задачи — от корректного программного завершения до системного отключения активных подключений на уровне операционной системы.
Проанализируем мягкий и наиболее корректный вариант отключения. В большинстве типовых конфигураций 1С на базе Библиотеки Стандартных Подсистем (БСП) предусмотрен специальный механизм блокировки.
Для его использования выполним следующие шаги:
После установки блокировки у всех подключенных пользователей отобразится предупреждающее окно с таймером обратного отсчета. По истечении указанного времени система вызовет метод ЗавершитьРаботуСистемы() и закроет приложение.
Разберем пример кода, который вызывается платформой для корректного выхода:
// Программный вызов завершения работы клиента 1С
ЗавершитьРаботуСистемы(Ложь);
Ограничение метода: если у пользователя открыто модальное диалоговое окно (например, с вопросом о сохранении), несохраненный документ в режиме редактирования или завис процесс, штатное завершение работы может быть заблокировано.
При включении блокировки в каталоге файловой базы создается служебный файл 1cv8.cdn. Чтобы администратор мог войти в заблокированную базу, в дополнительных параметрах запуска 1С необходимо указать специальный ключ доступа:
/UC <код_разрешения>
Если после завершения работ база осталась заблокированной из-за сбоя, достаточно удалить файл 1cv8.cdn из папки с базой данных (когда все сеансы 1С выключены).
Если пользователи работают с файловой базой по локальной сети через общую сетевую папку (SMB), отключить их можно средствами операционной системы Windows на компьютере, где физически расположен файл 1Cv8.1CD.
Рассмотрим основные команды для принудительного сброса файловых хэндлов и сетевых сессий. Запустим командную строку (cmd) от имени администратора на компьютере с базой:
net session /delete /y
openfiles /disconnect
Посмотрим на действие этих команд:
net session /delete /y — принудительно сбрасывает все активные сетевые подключение к общим ресурсам компьютера.openfiles /disconnect — разрывает открытые дескрипторы файлов, освобождая блокировку файла 1Cv8.1CD.Если пользователи работают с файловой базой на одном терминальном сервере через удаленный рабочий стол (RDP), завершение сеансов выполняется путем закрытия процессов 1cv8.exe.
Проанализируем принудительное завершение всех запущенных сеансов 1С через командную строку сервера:
taskkill /IM 1cv8.exe /F
Параметр /F выполняет принудительное закрытие всех процессов 1С. Этот способ стоит применять осторожно, так как несохраненные данные пользователей будут утеряны, но он гарантированно освобождает базу данных для проведения монопольных работ.
При обслуживании файловой базы 1С 8.3 рекомендуется соблюдать следующий порядок действий: сначала задействовать штатный механизм блокировки сеансов БСП для мягкого завершения работы пользователей. Если отдельные сеансы зависли и не закрылись автоматически, применить сброс сетевых подключений через openfiles или завершение процессов 1cv8.exe средствами операционной системы.