Пользователь «висит» в файловой базе 1С: как освободить её для работы
Содержание
Завершить чужой сеанс в файловой базе 1С командой «убить» нельзя: консоли кластера здесь нет. Рабочий порядок такой: установить блокировку работы пользователей с сообщением и подождать, пока клиенты закроются сами. Если кто-то не вышел — найти его компьютер и завершить процесс 1cv8.exe или 1cv8c.exe именно там.
Какой способ выбрать, зависит от ситуации. Плановое обновление вечером — хватит блокировки. Сеанс завис после сбоя сети — ищите открытый файл на сервере и закрывайте процесс. База не отпускает даже при пустом списке пользователей — проверяйте веб-сервер и фоновые процессы.
Как живут сеансы в файловом режиме
В файловом варианте нет сервера 1С, который управляет сеансами. Каждый клиент сам открывает файл 1Cv8.1CD по сети и работает с ним напрямую. Поэтому сеанс — это просто запущенная программа на конкретном компьютере, которая держит файл открытым.
Отсюда три практических следствия:
- 🖥️ Сеанс живёт там, где запущен клиент. Закрыть его можно только на этом компьютере (или закрыв его доступ к файлу на сервере).
- 🔒 Пока хотя бы один процесс держит файл, монопольный доступ к базе получить не выйдет.
- 🌐 Если база опубликована на веб-сервере, часть сеансов держит не компьютер пользователя, а процесс веб-сервера (
w3wp.exeу IIS,httpd.exeу Apache).
Сравнение способов, о которых пойдёт речь:
| Способ | Когда подходит | Чем рискуете |
|---|---|---|
| Блокировка работы пользователей | Плановые работы, все на связи | Почти ничем: клиенты закрываются штатно |
| Закрытие 1cv8 на ПК пользователя | Сеанс завис, пользователь ушёл | Несохранённые данные в открытых формах |
| Закрытие открытого файла на сервере | Нет доступа к ПК, сбой сети | Оборванная запись, нужна проверка базы |
| Перезапуск пула или службы веб-сервера | Сеансы веб-клиента | Отключатся все веб-пользователи |
Завершение сеансов через блокировку пользователей
Это основной и самый безопасный способ. В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА, ERP) он есть в разделе Администрирование → Обслуживание. В блоке обслуживания найдите ссылку «Блокировка работы пользователей».
Пошагово
- Откройте форму блокировки.
- Напишите сообщение. Пользователи увидят его на экране: например, «Обновление программы. Сохраните документы и выйдите до 19:00».
- Задайте время начала и окончания блокировки. Время начала поставьте на 5–15 минут вперёд, чтобы люди успели сохраниться.
- Заполните поле с кодом разрешения. Это любая строка, например
upd77. С ней вы сами войдёте в заблокированную базу. - Установите блокировку и дождитесь, пока список активных пользователей опустеет.
Клиентские сеансы на БСП периодически проверяют, не установлена ли блокировка. Перед её началом они показывают предупреждение, а после — завершают работу сами. Так «зависший» на перекуре бухгалтер тоже выйдет из базы, если его программа отвечает.
Вход в заблокированную базу
Запустите 1С с параметром кода разрешения. В окне запуска выберите базу, нажмите «Изменить» и на последнем шаге впишите в дополнительные параметры:
/UCupd77
Тот же параметр работает и в ярлыке после пути к 1cestart.exe или 1cv8.exe.
Не забудьте снять блокировку в той же форме после работ. Иначе утром база не пустит никого, кроме вас.
Блокировка не закроет программу, которая зависла или потеряла связь с файлом базы. Такой процесс не проверяет блокировку и висит до ручного завершения.
Кто сейчас держит базу: список активных пользователей
Прежде чем закрывать что-то вручную, посмотрите, кто подключён. Таких мест три.
В пользовательском режиме. Раздел Администрирование → Обслуживание, ссылка «Активные пользователи». В списке видно имя пользователя, компьютер, приложение (тонкий клиент, конфигуратор, фоновое задание) и время начала сеанса.
Через «Все функции». Если раздел администрирования не виден, включите команду: Сервис и настройки → Параметры → Отображать команду «Все функции». Затем Все функции → Стандартные → Активные пользователи.
В Конфигураторе. Меню Администрирование → Активные пользователи. Список тот же, но завершить сеанс оттуда нельзя.
Главное в этом списке — колонка «Компьютер». Она подсказывает, куда идти закрывать процесс.
В списке бывают «призраки»: сеанс компьютера, который уже выключен. Обычно это след обрыва сети, и держит такой сеанс уже не клиент, а сервер с общей папкой. Как его закрыть — в разделе про открытые файлы.
Зависший клиент на рабочем месте: как найти и закрыть
Если пользователь не выходит, а блокировка не помогла, процесс придётся завершить вручную.
На компьютере пользователя
Откройте диспетчер задач и найдите процессы:
1cv8.exe— толстый клиент и Конфигуратор;1cv8c.exe— тонкий клиент.
То же из командной строки:
tasklist /fi "imagename eq 1cv8c.exe"
tasklist /fi "imagename eq 1cv8.exe"
Завершение процесса:
taskkill /im 1cv8c.exe /f
taskkill /im 1cv8.exe /f
Удалённо, с правами администратора домена
Ключ /s позволяет выполнить те же команды на другом компьютере сети:
tasklist /s BUH-PC03 /fi "imagename eq 1cv8c.exe"
taskkill /s BUH-PC03 /im 1cv8c.exe /f
Для этого нужны права администратора на целевой машине и открытый удалённый доступ к WMI. Если команда возвращает «Отказано в доступе», проще подключиться к компьютеру через удалённый рабочий стол.
Принудительное закрытие обрывает работу без сохранения. Всё, что пользователь не записал в открытых формах, пропадёт. Предупредите человека или убедитесь, что он ушёл. Не закрывайте процесс, если в нём идёт обмен, загрузка или закрытие месяца: дождитесь окончания.
На терминальном сервере
Если 1С запускают через RDP, все клиенты работают на одной машине. Смотрите вкладку «Пользователи» диспетчера задач: там видно, у какого сотрудника висит 1cv8c.exe. Закрывайте процесс только этого пользователя, а не все 1cv8c.exe подряд.
Сеансы веб-клиента
Если база опубликована через IIS или Apache, сеансы браузерных пользователей живут в процессе веб-сервера. Для IIS перезапустите пул приложений публикации, для Apache — службу. Это отключит всех, кто работает через браузер, поэтому делайте это после блокировки и предупреждения.
Открытые файлы на сервере: закрыть сеанс без доступа к ПК
Когда база лежит в общей папке на сервере или NAS под Windows, сервер знает, кто держит файл 1Cv8.1CD. Это удобно, если компьютер пользователя недоступен.
Через оснастку «Общие папки»
- На сервере с базой нажмите
Win+Rи выполнитеfsmgmt.msc. - Откройте «Открытые файлы».
- Найдите путь к каталогу базы и файлы
1Cv8.1CD,1Cv8.1CL. - В колонке «Пользователь» видно учётную запись, которая держит файл.
- Правой кнопкой — «Закрыть открытый файл».
Через командную строку
net file | findstr /i "1Cv8"
net file 15 /close
Здесь 15 — идентификатор из первой колонки вывода net file.
Закрытие файла на сервере — самый грубый способ. Клиент теряет доступ посреди операции, и если в этот момент шла запись, структура базы может пострадать. После такого закрытия проверьте базу утилитой chdbfl (раздел ниже). И сделайте это вне рабочего времени.
Если сеть рвётся регулярно, «висящие» открытые файлы будут появляться снова. Это сигнал, что базе пора на клиент-серверный вариант или хотя бы на терминальный сервер , где клиент стоит рядом с файлом.
Файлы блокировок в каталоге базы
В папке файловой базы, кроме основного 1Cv8.1CD, бывают служебные файлы.
| Файл | Что это | Можно ли удалять |
|---|---|---|
1Cv8.1CD | Сама база | Нет, никогда |
1Cv8.1CL | Файл блокировки, существует, пока база кем-то открыта | Только когда все вышли |
1Cv8tmp.1CD | Временный файл, остаётся после аварийного завершения | Только когда все вышли |
1Cv8Log | Журнал регистрации | Не трогайте ради сеансов |
Пока есть хотя бы одно подключение, Windows просто не даст удалить 1Cv8.1CL: появится сообщение, что файл открыт в другой программе. Это заодно быстрая проверка — если файл не удаляется, базу кто-то держит.
Порядок действий, если все вышли, а база всё равно пишет, что занята:
- Убедитесь, что ни на одном ПК и на сервере нет процессов 1С (разделы выше).
- Скопируйте каталог базы целиком в другое место.
- Удалите
1Cv8.1CLи1Cv8tmp.1CD, если они остались. - Запустите 1С и проверьте вход.
Сначала копия каталога, потом удаление. Удаляйте только эти два служебных файла. Файл 1Cv8.1CD трогать нельзя ни при каких обстоятельствах.
Журнал регистрации в каталоге 1Cv8Log к сеансам отношения не имеет. Его чистка не поможет, а потерять историю действий пользователей легко.
Утилита chdbfl: проверка, что база свободна и цела
chdbfl.exe — утилита проверки физической целостности файловой базы. Она лежит в каталоге платформы:
C:\Program Files\1cv8\8.3.xx.xxxx\bin\chdbfl.exe
Вместо 8.3.xx.xxxx подставьте номер вашей версии платформы.
Утилита работает только с монопольным доступом к файлу. Поэтому она решает две задачи сразу:
- 🔍 Проверка, что сеансов нет. Если при запуске проверки chdbfl сообщает, что файл занят, — где-то ещё живёт процесс 1С.
- 🛠️ Проверка после обрыва. После принудительного закрытия сеансов база могла получить повреждения. chdbfl найдёт их и при необходимости исправит.
Как запустить:
- Убедитесь, что все пользователи вышли.
- Сделайте копию каталога базы.
- Запустите
chdbfl.exe, укажите путь к файлу1Cv8.1CD. - Сначала запустите проверку без галочки исправления ошибок.
- Если ошибки найдены, на копии базы включите исправление и запустите снова.
Запускайте chdbfl той же версии платформы, на которой работает база. Утилита из сильно отличающейся версии может не открыть файл.
Если после chdbfl база работает, но странно ведут себя отдельные документы, следующий шаг — «Тестирование и исправление» в Конфигураторе (Администрирование → Тестирование и исправление). Ему тоже нужен монопольный доступ.
Монопольный режим и защита от новых подключений
Монопольный доступ нужен не для любой работы в Конфигураторе. Он требуется для конкретных операций:
- 📦 обновление конфигурации базы данных, когда меняется структура;
- 📥 загрузка информационной базы из
.dt; - 🧪 тестирование и исправление;
- 🛠️ проверка утилитой chdbfl.
Если в базе кто-то есть, платформа сообщит, что не может установить монопольный режим, и операция не начнётся. Тогда сначала выполните порядок из этой статьи, а уже потом повторите операцию.
Чтобы никто не зашёл во время работ, держите блокировку пользователей установленной до конца операции. Сами входите с кодом /UC. Дополнительные приёмы:
- 📢 Предупредите сотрудников заранее, в чате или по почте: блокировка с сообщением не заменит договорённости.
- 🗂️ Если работы долгие, временно закройте доступ к общей папке базы для всех, кроме администратора. Новые клиенты просто не увидят файл.
- ⏰ Регламентные задания в файловой базе тоже выполняются в сеансах. Перед обновлением выключите автоматические обмены и загрузки, чтобы они не стартовали посреди работ.
Частые вопросы
Можно ли завершить чужой сеанс в файловой базе прямо из 1С?
Почему файловую базу держит пользователь, который давно выключил компьютер?
fsmgmt.msc или через net file, затем проверьте базу chdbfl.Сколько ждать после установки блокировки?
Удаляется ли журнал регистрации при удалении файла 1Cv8.1CL?
1Cv8Log, файл 1Cv8.1CL к нему отношения не имеет.