В файловом режиме работы 1С после сбоев в сети или некорректного завершения работы программы часто остаются "подвисшие" сеансы. Это приводит к блокировке доступа к базе данных, и особенно неприятно, когда заблокирован вход в конфигуратор. Давайте разберем, почему это происходит и какие существуют способы решения этой проблемы, от самых простых до более продвинутых.
Причина проблемы кроется в механизме блокировок файловой базы. В отличие от клиент-серверного варианта, здесь нет единого управляющего процесса (сервера 1С), который отслеживает и корректно завершает сеансы. Блокировки устанавливаются на уровне файлов операционной системой. При обрыве связи информация о завершении сеанса не доходит до базы, и блокировочные файлы остаются, не позволяя запустить новый сеанс или войти в конфигуратор.
Проанализируем все рабочие способы, которые помогут вам восстановить доступ к базе данных.
Это самый простой и часто самый эффективный метод, который помог автору исходного вопроса. Если файловая база данных расположена на выделенном компьютере или сервере, к которому есть доступ, его перезагрузка решает проблему в большинстве случаев.
Почему это работает?
Во время перезагрузки операционная система принудительно завершает все активные процессы и снимает все блокировки с файлов. Это гарантированно освобождает файл базы данных 1Cv8.1CD и связанные с ним служебные файлы (например, файл блокировок 1Cv8.1CL) от захвата зависшим процессом.
Порядок действий:
Этот способ идеален, если у вас есть права на перезагрузку сервера и это не нарушит работу других сервисов, после чего часто требуется очистка кэша 1С без стирания настроек.
Если перезагрузка сервера нежелательна, можно попытаться закрыть файлы вручную через средства администрирования операционной системы. Этот метод требует прав администратора на компьютере с базой.
Порядок действий:
1Cv8.1CD) и файл блокировок (1Cv8.1CL).1cv8.exe, 1cv8c.exe).Этот способ позволяет точечно снять блокировку, не затрагивая работу всей системы.
Иногда зависший сеанс оставляет после себя некорректный файл блокировок, который мешает запуску. В папке с вашей информационной базой есть файл с расширением .cdn. Он содержит информацию о подключениях.
Порядок действий:
1cv8.exe завершены.1Cv8.cdn..cdn при первом успешном подключении.Этот метод быстр и безопасен, если выполнен при отсутствии активных подключений к базе.
Бывают ситуации, когда непонятно, какой именно процесс держит файл базы. Это может быть не только процесс 1С, но и, например, антивирус, система резервного копирования или зависший COM-объект (dllhost.exe).
В этом случае помогут специализированные утилиты.
Использование Process Explorer (от Microsoft Sysinternals):
1Cv8.1CL или имя файла базы 1Cv8.1CD и нажмите "Search".Использование Unlocker:
Unlocker — это простая сторонняя утилита, которая встраивается в контекстное меню проводника. После установки достаточно нажать правой кнопкой мыши на файл базы данных (1Cv8.1CD), выбрать "Unlocker", и программа покажет, какие процессы его блокируют, и предложит их завершить.
Важно: При использовании сторонних утилит будьте осторожны и скачивайте их только с официальных сайтов.
Платформа 1С имеет встроенные механизмы для управления сеансами, которые можно вызывать из командной строки. Это удобный способ автоматизировать процесс.
Порядок действий:
Пример команды для завершения:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Базы\МояБаза" /N"Администратор" /P"Пароль" /CЗавершитьРаботуПользователей
Где:
/F"D:\Базы\МояБаза" — путь к вашей файловой базе./N"Администратор" — имя пользователя с административными правами./P"Пароль" — его пароль (если есть)./CЗавершитьРаботуПользователей — команда, предписывающая завершить все активные сеансы./CРазрешитьРаботуПользователей. Если была установлена блокировка с кодом, его нужно указать:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Базы\МояБаза" /UC"КодРазрешения" /CРазрешитьРаботуПользователей
Этот способ может не сработать, если сеансы "зависли" намертво на уровне файловой системы, но в менее критичных ситуациях он очень полезен.
Если вам удалось зайти в базу хотя бы под одним пользователем в режиме "Предприятие", вы можете инициировать процедуру завершения сеансов оттуда.
Порядок действий:
Чтобы минимизировать возникновение подобных проблем в будущем, рекомендуем предпринять следующие шаги: