Файловая база занята: как выгнать всех пользователей и освободить 1Cv8.1CD
Содержание
Завершить сеансы в файловой базе 1С можно двумя путями. Штатный: установить блокировку работы пользователей в Администрирование → Обслуживание, и программа сама попросит всех выйти. Принудительный: закрыть файл 1Cv8.1CD средствами Windows на компьютере, где лежит база, или снять процесс 1cv8.exe / 1cv8c.exe у пользователя.
Штатный путь безопаснее: люди успевают сохранить документы. Принудительный нужен, когда сеанс «висит»: человек давно ушёл, компьютер завис, а Конфигуратор не пускает в монопольный режим для обновления или тестирования. В файловой базе 1С 8.3 нет кластера серверов, поэтому привычной кнопки «завершить сеанс» из консоли администрирования здесь нет. Работают инструменты самой конфигурации и Windows.
Почему сеансы в файловой базе остаются открытыми
Файловая база — это папка с файлом 1Cv8.1CD. Каждый запущенный клиент 1С открывает этот файл напрямую, по сети или локально. Пока процесс жив, файл занят. Отсюда типичные источники «лишних» сеансов:
- 🖥️ Пользователь не закрыл программу. Ушёл домой, 1С осталась открытой.
- 🧊 Клиент завис. Окна нет, а процесс
1cv8c.exeвисит в диспетчере задач. - 📡 Оборвалась сеть. Ноутбук ушёл в сон или отключился Wi-Fi, а сервер ещё держит открытый файл.
- 🔌 Внешнее подключение. Обработка обмена, отчёт из Excel, скрипт через COM-соединение работают с базой без видимого окна.
- 🌐 Веб-публикация. Если файловая база опубликована через IIS или Apache, сеансы веб-клиентов живут внутри процесса веб-сервера.
- 🪟 Терминальный сервер . Пользователь отключился от RDP-сессии, но не вышел из неё. Его 1С продолжает работать.
Сначала поймите, к какому типу относится ваш случай. От этого зависит способ: зависший клиент не отреагирует на блокировку, а веб-сеанс не найдёте в диспетчере задач на компьютере пользователя.
Кто сейчас в базе: список активных пользователей и журнал регистрации
Прежде чем что-то закрывать, посмотрите, кто подключён и с какого компьютера.
Активные пользователи
- В Конфигураторе:
Администрирование → Активные пользователи. - В режиме 1С:Предприятие (БП 3.0, ЗУП 3.1, УТ 11):
Администрирование → Обслуживание, ссылка «Активные пользователи». - В любой конфигурации:
≡ → Все функции → Стандартные → Активные пользователи. Если пункта «Все функции» нет, включите его в≡ → Сервис → Параметры.
В списке видно имя пользователя, приложение (тонкий клиент, Конфигуратор, COM-соединение, фоновое задание), компьютер и время начала работы. Колонка «Компьютер» — главная: по ней вы найдёте, куда идти или к кому подключаться.
Список в файловом варианте информационный. Оборвать из него чужой сеанс нельзя: в клиент-серверной базе это делается через кластер, а здесь его нет.
Журнал регистрации
Если в списке висит сеанс, а человек уверяет, что давно вышел, откройте журнал регистрации:
- в Конфигураторе —
Администрирование → Журнал регистрации; - в пользовательском режиме —
Администрирование → Обслуживание → Журнал регистрации.
Установите отбор по пользователю и событиям «Сеанс. Начало» и «Сеанс. Завершение». Если у сеанса есть начало, но нет завершения, процесс оборвался аварийно или до сих пор работает. По колонке «Компьютер» и номеру сеанса видно, откуда шло подключение.
Сам журнал хранится в папке 1Cv8Log внутри каталога базы. Её не трогайте: удаление файлов оттуда не освобождает базу, а только стирает историю.
Способы завершить сеансы: что выбрать
| Способ | Когда подходит | Чем рискуете |
|---|---|---|
| Блокировка работы пользователей | Люди на месте, клиенты отвечают | Почти ничем, сеансы закрываются с предупреждением |
| Закрытие процесса у пользователя | Известен компьютер, клиент завис | Несохранённый документ пропадёт |
| Выход из RDP-сессии | База на терминальном сервере | То же, плюс закроются другие программы пользователя |
| Закрытие файла через «Общие папки» | Компьютер недоступен, клиент «призрак» | Обрыв записи, риск повреждения 1Cv8.1CD |
| Перезапуск веб-сервера | Висят сеансы веб-клиента | Разом отключатся все веб-пользователи |
Идите по таблице сверху вниз: от мягкого к жёсткому.
Штатное завершение сеансов в файловой базе через блокировку
В типовых конфигурациях на Библиотеке стандартных подсистем есть механизм блокировки работы пользователей. Он работает и в файловом варианте.
Как установить блокировку
- Откройте
Администрирование → Обслуживаниеи перейдите по ссылке «Блокировка работы пользователей». - Напишите сообщение для пользователей: «Обновление программы с 18:00, сохраните документы и выйдите».
- Укажите время начала и окончания блокировки.
- Задайте код разрешения входа, например
12345. По нему администратор сможет зайти в заблокированную базу. - Установите блокировку.
Пользователи увидят предупреждение. В файловом режиме сеансы закрывает сам клиент: через несколько минут программа на каждом рабочем месте завершится. Новые входы будут запрещены до снятия блокировки.
Чтобы войти в заблокированную базу самому, добавьте к параметрам запуска ключ /UC с кодом: /UC12345. В окне запуска это делается кнопкой «Изменить» на последнем шаге, в поле «Дополнительные параметры запуска».
Блокировка из командной строки
Удобно для ночного обновления по расписанию. Библиотека стандартных подсистем понимает параметр запуска ЗавершитьРаботуПользователей:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /C"ЗавершитьРаботуПользователей" /UC"12345"
Программа установит блокировку и выждет, пока сеансы закроются. Снимают блокировку тем же способом с параметром /C"РазрешитьРаботуПользователей". Номер версии в пути замените на свой — он виден в папке C:\Program Files\1cv8.
Блокировка не действует на зависший клиент. Если процесс не отвечает, он не получит предупреждение и не закроется. Такие сеансы снимают средствами Windows.
Принудительное завершение сеансов средствами Windows
Перед любым принудительным закрытием предупредите людей: незаписанные документы пропадут, а сеанс оборвётся без вопросов.
На компьютере пользователя
Откройте диспетчер задач (Ctrl+Shift+Esc), вкладка «Подробности». Завершите процессы:
1cv8c.exe— тонкий клиент;1cv8.exe— толстый клиент и Конфигуратор;
Если в «Подробностях» процессов нет, а база всё равно занята, значит, файл держит другой компьютер или веб-сервер.
На терминальном сервере
Посмотрите список сессий и завершите нужную:
query user
logoff 3
Здесь 3 — идентификатор сессии из колонки «ID». Команда закроет всю RDP-сессию пользователя.
Если закрыть нужно только 1С, а остальные программы оставить, снимите процесс по имени пользователя:
taskkill /F /FI "USERNAME eq ivanova" /IM 1cv8c.exe
Без фильтра /FI команда taskkill /IM 1cv8c.exe /F выкинет из 1С всех пользователей сервера разом. Делайте так только вне рабочего времени.
На компьютере, где лежит папка с базой
Это самый действенный приём, когда пользовательский компьютер недоступен. Сетевая папка с базой открыта с конкретных машин, и Windows ведёт список открытых файлов.
- На файловом сервере откройте
compmgmt.msc(«Управление компьютером»). - Перейдите в
Служебные программы → Общие папки → Открытые файлы. - Найдите строки с
1Cv8.1CDи1Cv8.1CL. В колонке «Пользователь» — учётная запись, которая держит файл. - Щёлкните по строке правой кнопкой и закройте открытый файл.
То же из командной строки сервера:
net file
net file 152 /close
net file выводит идентификаторы, пути и пользователей. Второй командой закрываете файл по его идентификатору.
Если база лежит на локальном диске и файл держит процесс на этой же машине, откройте монитор ресурсов (resmon), вкладку «ЦП», и в поле поиска «Связанные дескрипторы» введите 1Cv8. Вы увидите процесс, который держит файл, и сможете его завершить.
Веб-публикация файловой базы
Сеансы веб-клиента живут внутри веб-сервера. Перезапустите пул приложений публикации в диспетчере IIS или службу Apache. Все пользователи, работавшие через браузер, будут отключены.
Файл блокировки 1Cv8.1CL: удалять или нет
В каталоге файловой базы, рядом с 1Cv8.1CD, при подключениях появляется файл 1Cv8.1CL. Через него клиенты согласуют совместный доступ к базе. Когда последний пользователь выходит корректно, файл обычно освобождается.
Если 1С падала, файл может остаться. Тогда платформа при входе ругается на занятость базы, хотя в ней никого нет. Типичный текст:
Ошибка совместного доступа к файлу '1Cv8.1CD'. 32(0x00000020): Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.
Порядок действий:
- Убедитесь, что ни на одном компьютере нет процессов 1С, а в «Открытых файлах» сервера нет строк с этой базой.
- Скопируйте всю папку базы в другое место. Это ваша страховка.
- Переименуйте
1Cv8.1CL, например, в1Cv8.1CL.old. Удалять сразу не нужно. - Запустите 1С. Если база открылась, старый файл можно удалить.
Если Windows не даёт переименовать 1Cv8.1CL и пишет, что файл открыт, — это не мусор. Файл реально держит живой процесс. Вернитесь к предыдущему разделу и найдите его.
Если вы ставили блокировку работы пользователей и забыли код, проверьте каталог базы: в файловом варианте блокировка сеансов хранится в файле 1Cv8.cdn. Переименование этого файла снимает блокировку. Делайте это при закрытой программе.
Никогда не удаляйте и не переименовывайте сам 1Cv8.1CD: это и есть ваша база.
Что проверить после принудительного закрытия
Обрыв в момент записи может оставить в 1Cv8.1CD повреждённые страницы. Признаки: ошибки при открытии отдельных документов, «битые» ссылки, падение программы на конкретном списке.
Пока все сеансы закрыты, это лучший момент для проверки:
- Сделайте копию папки базы, если ещё не сделали.
- Запустите Конфигуратор и выберите
Администрирование → Тестирование и исправление. Для этого режима нужен монопольный доступ, который вы только что получили. - Для проверки физической целостности файла есть утилита
chdbfl.exeиз папкиbinустановленной платформы. Запускайте её только при полностью закрытой базе.
После проверки снимите блокировку и сообщите пользователям, что можно работать.
Как не допускать зависших сеансов в файловой базе
Большая часть «призраков» появляется из-за нестабильного доступа к файлу. Несколько мер снимают проблему почти полностью.
- 📶 Не работайте с файловой базой по Wi-Fi и VPN. Обрыв соединения оставляет файл открытым. Для удалённых сотрудников лучше терминальный сервер или веб-публикация.
- 🛡️ Добавьте папку базы в исключения антивируса. Проверка
1Cv8.1CDна лету тормозит работу и может удерживать файл. - ⏱️ Ограничьте отключённые RDP-сессии. В групповой политике терминального сервера есть раздел
Службы удалённых рабочих столов → Узел сеансов удалённых рабочих столов → Ограничение сеансов по времени. Задайте, через сколько завершать отключённый сеанс, например через 2 часа. - 🌙 Плановые работы — через блокировку. Обновление и копирование ставьте на ночь командой с
/C"ЗавершитьРаботуПользователей", а не надейтесь, что все вышли сами. - 💤 Отключите сон на рабочих местах, где 1С открыта весь день. Ноутбук, уснувший с открытой базой, — частый источник висящего подключения.
- 🧱 Следите за размером и числом пользователей. Когда одновременно работают ориентировочно больше 10–15 человек и блокировки случаются каждый день, файловый вариант уже тесен. Переход на клиент-серверный вариант даёт кластер и нормальное управление сеансами.