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

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

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

Особенности управления сеансами в файловом варианте

Файловая база данных 1С:Предприятие работает по принципу прямого доступа к файлам на диске, без участия промежуточного сервера приложений. Это накладывает серьезные ограничения на возможности администратора. В отличие от SQL-версии, где сессии управляются на уровне СУБД, здесь контроль осуществляется через специальные файлы-маркеры, создаваемые в каталоге базы при запуске программы.

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

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

Для администрирования таких систем критически важно понимать разницу между активным сеансом и «мертвой» блокировкой. Активный сеанс подразумевает, что процесс 1cv8.exe или 1cv8c.exe действительно выполняется в оперативной памяти и потребляет ресурсы. «Мертвая» блокировка — это лишь остаточный файл на диске, который мешает новому подключению, хотя сам пользователь уже давно выключил компьютер.

💡

Перед любыми манипуляциями с файлами базы обязательно создайте полную резервную копию каталога базы данных. Это единственная гарантия возможности отката изменений в случае повреждения структуры файлов.

Штатный способ через консоль управления базой данных

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

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

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

📊 Как вы чаще всего решаете проблему с зависшими сеансами?
Через диспетчер задач
Удалением файлов .lck
Перезагрузкой сервера
Жду пока пользователь сам выйдет

Важно отметить, что при завершении сеанса через консоль пользователь получит предупреждение о том, что его работа будет прервана. У него будет несколько секунд на сохранение открытых документов. Это отличает данный метод от жесткого убийства процесса, когда данные могут не успеть записаться на диск.

Удаление файлов блокировок вручную

Если штатные средства не помогают, администраторы часто прибегают к ручному удалению служебных файлов. В корневой папке файловой базы данных находятся файлы с расширением .lck (lock). Эти файлы создаются динамически и содержат информацию о блокировках. Их наличие указывает на то, что база используется или была некорректно закрыта.

Для выполнения этой операции необходимо физический доступ к файловой системе сервера или рабочей станции, где расположена база. Требуется остановить все процессы , чтобы снять блокировку операционной системы на сами файлы, а затем удалить файлы 1Cv8.1CD.lck и подобные. После удаления файлов база становится доступной для монопольного открытия.

☑️ Алгоритм ручной очистки блокировок

Выполнено: 0 / 5

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

⚠️ Внимание: Никогда не удаляйте файлы .lck, пока процессы 1cv8.exe активны в диспетчере задач. Это гарантированно приведет к рассинхронизации данных и возможному повреждению файла базы 1Cv8.1CD.

Завершение процессов через Диспетчер задач

Радикальным, но часто необходимым методом является принудительное завершение процессов через средства операционной системы Windows. Этот способ подходит для ситуаций, когда пользовательский компьютер завис, сеть оборвалась, или приложение перестало реагировать на команды, но продолжает удерживать файлы базы.

Администратор должен подключиться к рабочей станции пользователя (удаленно или физически) и открыть Диспетчер задач. В списке процессов необходимо найти экземпляры 1cv8.exe (клиентское приложение) или 1cv8c.exe (фоновые процессы). Завершение этих процессов мгновенно освобождает файлы, захваченные программой.

Для массового завершения сеансов на сервере терминалов или выделенном файловом сервере можно использовать командную строку. Команда taskkill позволяет убить процессы по имени или идентификатору. Это особенно удобно при скриптовой автоматизации перезапуска служб в ночное время.

taskkill /F /IM 1cv8.exe

taskkill /F /IM 1cv8c.exe

Использование ключа /F означает принудительное завершение. Без этого ключа система попытается закрыть приложение корректно, что может не сработать при зависании. После выполнения команды файлы блокировок могут остаться, и их потребуется удалить вручную, как описано в предыдущем разделе.

💡

Завершение процесса через Диспетчер задач эквивалентно выдергиванию шнура питания из компьютера пользователя — данные в оперативной памяти, не записанные на диск, будут потеряны безвозвратно.

Использование утилиты rac для администрирования

Для более профессионального подхода к управлению файловыми базами существует утилита командной строки rac (1C:Enterprise Remote Administration Console). Хотя она чаще ассоциируется с клиент-серверным вариантом, она имеет функционал для работы и с файловыми базами, позволяя получать информацию о сеансах и управлять ими без графического интерфейса.

Утилита rac входит в стандартный дистрибутив платформы 1С:Предприятие. Для работы с файловой базой необходимо указать путь к каталогу базы в качестве параметра. Это позволяет скриптовать процедуры обслуживания, например, автоматически выгонять пользователей в определенное время для проведения регламентных работ.

Команда rac Описание действия Необходимые права
rac session list Вывод списка активных сеансов Чтение каталога базы
rac session terminate Принудительное завершение сеанса Запись в каталог базы
rac infobase lock Блокировка базы для новых подключений Администратор ОС
rac infobase unlock Снятие блокировки подключений Администратор ОС

Пример использования команды для завершения конкретного сеанса выглядит следующим образом. Сначала получаем список сеансов, находим нужный session-id, а затем передаем его в команду завершения. Это более безопасно, чем массовое убийство процессов, так как утилита пытается корректно освободить ресурсы.

Синтаксис команды для завершения сеанса

rac session terminate --session=<идентификатор> --db-file=<путь_к_файловой_базе>. Обратите внимание, что путь должен быть указан в формате, понятном утилите, часто требуется использование полного пути.

Автоматизация выгрузки пользователей через регламентные задания

Чтобы избежать ручного вмешательства в будущем, целесообразно настроить автоматическую выгрузку пользователей в нерабочее время. В самой конфигурации (например, в типовых решениях Бухгалтерия или ЗУП) существуют механизмы регламентных заданий, которые могут блокировать вход или завершать сеансы по расписанию.

Настройка производится в разделе Администрирование → Обслуживание → Регламентные операции. Можно создать задание, которое будет проверять длительность сеанса или время суток. Если пользователь работает после окончания рабочего дня, система может отправить ему предупреждение, а затем принудительно завершить сеанс.

Альтернативный вариант — использование внешних скриптов (BAT или PowerShell), которые запускаются по расписанию через Планировщик заданий Windows. Скрипт может проверять наличие процессов и завершать их, если текущее время превышает установленный лимит. Такой подход независим от конфигурации 1С и работает на уровне операционной системы.

⚠️ Внимание: Интерфейс и названия пунктов меню могут отличаться в разных версиях конфигураций и платформ 1С. Всегда сверяйтесь с документацией к вашей конкретной версии ПО перед настройкой автоматических сценариев.
💡

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

Частые вопросы по администрированию файловых баз

Что делать, если файл блокировки не удаляется и пишет «Файл занят»?

Это означает, что процесс, удерживающий файл, все еще активен в памяти, даже если окна программы не видны. Откройте Диспетчер задач, включите отображение процессов всех пользователей и найдите скрытые процессы 1cv8.exe. Завершите их, после чего файл удалится без проблем.

Можно ли выгнать пользователя из файловой базы удаленно, не заходя на его ПК?

Напрямую завершить процесс на удаленном компьютере без установленного агента или средств удаленного администрирования (например, RDP, PsExec) невозможно. Однако, если база лежит на общем сетевом ресурсе, вы можете заблокировать доступ к папке через настройки общего доступа Windows, что вызовет ошибку у пользователя, но это некорректный метод завершения работы.

Почему после выключения света база не открывается и пишет «Монопольный режим»?

При аварийном отключении питания файлы блокировок .lck не удаляются корректно. Система считает, что сеанс все еще активен. Необходимо вручную зайти в папку базы и удалить эти файлы, предварительно убедившись, что никто не пытается запустить 1С в этот момент.

Как узнать, кто именно занимает базу, если список сеансов пуст?

Если список сеансов пуст, но база занята, скорее всего, имеет место «призрачная» блокировка на уровне файловой системы. Проверьте открытые файлы на сервере через Управление компьютером → Общие папки → Открытые файлы. Там будет указан пользователь, удерживающий файл базы.

Безопасно ли использовать сторонние утилиты для разблокировки 1С?

Использование непроверенных сторонних утилит несет высокие риски. Рекомендуется использовать только штатные средства платформы (rac, консоль управления) или стандартные инструменты ОС. Сторонние скрипты могут нарушить целостность транзакций, если не учитывают внутреннюю структуру файлов .