Зависший сеанс в файловой базе 1С: как отключить пользователя
Содержание
Чтобы выбить пользователя из
файловой базы 1С, откройте базу в Конфигураторе, зайдите в Администрирование → Активные пользователи и завершите нужный сеанс. Не помогло — закройте процесс 1cv8.exe на компьютере пользователя или на файловом сервере. Последний рубеж — служебные файлы блокировки в каталоге базы.
Типичная картина: нужно обновить конфигурацию
или загрузить .dt, а база пишет, что работают другие пользователи. Бухгалтер ушёл на обед и не закрыл 1С. Или у человека завис сеанс, а он вообще уехал домой. Ниже — способы от мягких к жёстким.
Файловая база не имеет сервера, который «держит» сеансы. Каждый клиент напрямую открывает файл 1Cv8.1CD. Поэтому грубое отключение чревато порчей данных. Перед любыми жёсткими действиями сделайте копию каталога базы.
Сначала выясните, кто в базе и что он делает
Прежде чем кого-то отключать, посмотрите на список. Часто «зависший» пользователь уже вышел, а в списке остался хвост.
- Откройте базу в режиме
Конфигуратор. - Выберите
Администрирование → Активные пользователи. - Посмотрите колонки: пользователь, компьютер, приложение, время начала сеанса, последняя активность.
В обычном режиме то же окно открывается через раздел Администрирование — ищите пункт «Активные пользователи» в подразделе поддержки и обслуживания либо найдите его через поиск по командам интерфейса.
Что искать:
- 👤 Приложение «Конфигуратор» — кто-то сидит в разработке. Его закрытие нужно согласовать особенно.
- 🖥 Имя компьютера — по нему вы поймёте, куда идти или кому звонить.
- ⏱ Старое время последней активности — сеанс, скорее всего, завис или человек отошёл.
- 🔁 Два сеанса одного пользователя — частый случай: первый завис, второй открыли заново.
Сделайте запись: кто, с какого компьютера, чем занят. Если человек в середине проведения большого документа, жёсткое отключение может оставить его недозаписанным.
Мягкое отключение через окно активных пользователей
Если у вас есть права администратора, действуйте так.
- В окне активных пользователей выделите нужный сеанс.
- Если на панели есть кнопка завершения сеанса, нажмите её и подтвердите.
- Через несколько секунд обновите список. Сеанс должен исчезнуть.
Платформа посылает клиенту команду на закрытие. Работает, пока клиентское приложение хоть как-то откликается. Если оно полностью зависло, команда не дойдёт, и сеанс останется в списке.
Для ситуаций, когда нужно отключить всех сразу, пригодится блокировка входа плюс завершение работы. В конфигурациях на базе БСП в окне активных пользователей есть блокировка работы пользователей: вы задаёте время начала блокировки, сообщение и код разрешения. Пользователи видят предупреждение и успевают сохранить работу. После наступления времени новые сеансы не пускают, а существующие закрываются.
Для себя заведите код разрешения. Он позволяет вам зайти в заблокированную базу, пока для остальных вход закрыт. Запуск с кодом выглядит так:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "D:\Bases\Buh" /UC РазрешитьЗапуск
Путь к программе и каталогу базы подставьте свои. Параметр /UC задаёт код разрешения на запуск при включённой блокировке.
Завершить работу всех пользователей одной командой
В типовых конфигурациях с БСП есть параметр запуска, который завершает сеансы всех пользователей:
/C"ЗавершитьРаботуПользователей"
Его вместе с /UC обычно вешают на планировщик заданий, чтобы ночью перед резервным копированием база освобождалась сама. Если в вашей конфигурации такого параметра нет (самописные или очень старые), этот способ не сработает — переходите к следующему.
Когда сеанс не закрывается: снимаем процесс
Если в списке сеанс есть, а отключить его нельзя, придётся убить процесс. Для файловой базы это делается на компьютере пользователя, потому что именно там работает клиент.
Вариант 1: Диспетчер задач на рабочем месте
- Попросите пользователя (или подключитесь удалённо) открыть
Диспетчер задач. - Найдите процесс
1cv8.exe(тонкий клиент называется1cv8c.exe). - Если открыто несколько баз, ориентируйтесь на заголовок окна и на пользователя в колонке.
- Нажмите «Снять задачу».
Вариант 2: командная строка
Когда по сети виден только список процессов, удобно снять по идентификатору:
tasklist /s ИМЯ_КОМПЬЮТЕРА /fi "imagename eq 1cv8.exe"
taskkill /s ИМЯ_КОМПЬЮТЕРА /pid 4820 /f
4820 — пример, подставьте идентификатор из первой команды. Для удалённого вызова нужны права администратора на том компьютере.
Вариант 3: терминальный сервер
Если люди работают через RDP, 1С выполняется на терминальном сервере, и процессов 1cv8.exe там много. Откройте Диспетчер задач → Подробности, добавьте колонку «Имя пользователя» и снимайте только процессы нужного человека. Иногда проще завершить его сеанс Windows целиком.
Если при убийстве процесса пользователь был посреди записи документа, база может остаться с незавершённой транзакцией. Платформа это откатывает при следующем входе, но сам документ будет не записан. Предупредите пользователя заранее.
Если процесс снят, а база всё равно «занята»
После жёсткого завершения иногда остаются хвосты: сеанс висит в списке, а при запуске монопольного режима платформа ругается, что база занята. Причины две.
- 🕒 Список ещё не обновился. Платформа проверяет «живость» клиента не мгновенно. Подождите минуту-две и обновите окно.
- 📁 Остался служебный файл блокировки в каталоге базы.
Каталог базы содержит основной файл 1Cv8.1CD и служебные файлы. Нас интересуют те, что имеют расширение .lck.
Как безопасно разобраться с файлами блокировок
- Убедитесь, что в базе действительно никого нет. Проверьте процессы
1cv8.exeи1cv8c.exeна всех компьютерах, у кого может быть открыта эта база. Проверьте и сам сервер: нет ли там запущенных заданий, фоновых обменов и копирования. - Сделайте копию всего каталога базы целиком.
- Закройте всё, что может держать файлы: антивирус, программу резервного копирования, проводник с открытым каталогом.
- Удалите файлы
.lckиз каталога базы. Файл1Cv8.1CDне трогайте ни при каких условиях. - Запустите базу и проверьте список активных пользователей.
Файл 1Cv8.1CD — это вся ваша база. Удалять, переименовывать и перемещать его нельзя.
Если Windows не даёт удалить файл блокировки, значит, он кем-то открыт. Чаще всего это зависший процесс клиента на каком-то компьютере, который вы не нашли. Найти владельца помогут средства просмотра открытых файлов на сервере: в Управление компьютером → Общие папки → Открытые файлы видно, кто держит файлы по сети.
Кто вообще может отключать сеансы
Отключить пользователя может только тот, у кого есть административные права в самой базе. Обычный бухгалтер этого не увидит: пункт про активных пользователей у него либо недоступен, либо показывает только его собственный сеанс.
Если вы заходите в Конфигуратор и получаете отказ, проверьте две вещи.
- 🔑 Роль. У вашего пользователя должна быть роль администратора (в типовых конфигурациях — полные права).
- 🧱 Вход под своим именем. Если вы заходите под общей учётной записью «Бухгалтер», прав может не хватить. Войдите под отдельным администратором.
Если пароль администратора утерян, обычные способы не помогут. Это отдельная задача восстановления доступа к своей базе, и решать её нужно законным путём: через владельца базы или обслуживающую организацию.
Автоматизация: ночное освобождение базы
Если окно обслуживания каждый день одно и то же, не делайте это руками. Схема простая и держится на планировщике заданий Windows.
- В 23:30 запускается задание, которое вызывает клиент 1С с параметром завершения работы пользователей и кодом разрешения.
- Через 5-10 минут второе задание проверяет, остались ли процессы
1cv8.exeс нужной базой, и при необходимости снимает их. - Третье задание копирует каталог базы в архив.
- Утром базу открывают как обычно.
Для второго шага пригодится короткий bat-файл. Он снимает все клиентские процессы на файловом сервере, где живут терминальные сеансы:
taskkill /im 1cv8.exe /f
taskkill /im 1cv8c.exe /f
Не запускайте такой bat в рабочее время и на сервере, где крутятся чужие базы. Он снимает вообще все процессы 1С, а не только по одной базе. Для точечного отключения берите конкретный идентификатор процесса.
Прогоните сценарий на тестовой копии. Сначала убедитесь, что копирование начинается только после того, как все файлы освобождены. Иначе в архив попадёт база в неконсистентном состоянии.
Что делать, если ничего не помогает
Идите по лестнице от простого к жёсткому.
| Ситуация | Что делать | Риск |
|---|---|---|
| Сеанс виден, клиент откликается | Завершить сеанс из списка активных | Минимальный |
| Нужно закрыть всех в заданное время | Блокировка работы + код разрешения | Минимальный |
| Сеанс завис, из списка не закрывается | Снять 1cv8.exe на рабочем месте | Незаписанные данные |
| Компьютера пользователя нет рядом | taskkill по сети или RDP-сеанс | Незаписанные данные |
| Процессов нет, сеанс «призрак» | Подождать, удалить .lck после копии | Нужна копия базы |
| Файлы заняты, владелец не найден | Перезагрузить файловый сервер | Прервутся все сетевые операции |
Перезагрузка файлового сервера — самый грубый способ. Если сервер обслуживает не только 1С, лучше сначала найти владельца блокировки через Открытые файлы.
После любого жёсткого отключения запустите базу в Конфигураторе и выберите Администрирование → Тестирование и исправление. Для небольшой базы хватит проверки логической целостности и ссылочной целостности. Для этого понадобится монопольный доступ: убедитесь, что в базе никого нет.
Как не выбивать пользователей каждую неделю
Если вы делаете это регулярно, проблема в организации, а не в зависшем клиенте.
- 🌙 Резервная копия ночью. Настройте планировщик Windows: завершение работы пользователей, копия каталога, запуск. Тогда по утрам база свободна.
- 🔌 Не оставлять 1С открытой на ночь. Зависшие сеансы чаще всего копятся у тех, кто выключает компьютер крышкой ноутбука.
- ⚡ Нормальная сеть. Файловая база по Wi-Fi и через нестабильный VPN — прямой путь к обрывам и зависшим сеансам. Если без VPN не обойтись, лучше терминальный сервер .
- 🛡 Исключения в антивирусе для каталога базы. Сканирование файла
1Cv8.1CDв реальном времени замедляет работу и даёт блокировки. - 🧹 Регламент обновлений. Объявите окно, когда все выходят из базы. Это проще, чем гоняться за каждым.
- 📈 Размер базы. Файловая база удобна до десятка активных пользователей. Если людей больше и зависания постоянны, смотрите в сторону клиент-серверного варианта.
В клиент-серверной версии у вас есть центральный сервер кластера и консоль администрирования, откуда сеанс завершается одним кликом. В файловой базе такой консоли нет: способы выше — это всё, что у вас есть.