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

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

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

Использование режима монопольного доступа в конфигураторе

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

Для активации этого режима необходимо запустить ярлык 1С в режиме Конфигуратор. В окне выбора базы данных следует установить галочку Монопольный режим. Если в этот момент в базе кто-то работает, система выдаст диалоговое окно со списком активных сеансов и предложит отправить им сообщение. Текст сообщения можно отредактировать, указав причину и примерное время простоя, например: «Проводятся технические работы, сохраните данные и выйдите из системы».

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

💡

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

⚠️ Внимание: Если пользователи игнорируют сообщение о завершении сеанса, не закрывайте окно конфигуратора принудительно через диспетчер задач сразу. Дайте системе время на повторную отправку уведомления, так как сетевые задержки могут препятствовать мгновенному доставлению пакета данных.
📊 Как часто вам приходится выгонять пользователей из базы 1С?
Ежедневно
Раз в неделю
Только при обновлении
Никогда, у нас серверный вариант

Ручное удаление файлов блокировки сеансов

Когда штатные средства не помогают и пользователи не выходят из системы добровольно, администраторам приходится прибегать к ручному удалению файлов блокировки. В файловом варианте базы данных 1С информация об активных сеансах хранится в специальных служебных файлах с расширением .lck, расположенных в корневом каталоге базы или в подпапке 1Cv8. Удаление этих файлов сигнализирует платформе о том, что сеансы завершены, и позволяет войти в базу в монопольном режиме.

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

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

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

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

Блокировка новых подключений через файл блокировки

Существует более мягкий метод ограничения доступа, который не требует принудительного обрыва текущих соединений, но предотвращает вход новых пользователей. Этот способ реализуется путем создания специального файла с именем 1Cv8.cdn (или 1Cv8CDN.cdn в старых версиях) в корневом каталоге базы данных. Наличие этого файла заставляет платформу 1С при попытке запуска выдавать пользователю сообщение о том, что база заблокирована для работы, и запрещает установление нового сеанса.

Чтобы активировать этот механизм, создайте пустой текстовый файл в папке с базой и переименуйте его в 1Cv8.cdn. Можно также добавить внутрь файла текст сообщения, которое увидят пользователи при попытке входа, например: «База закрыта на обслуживание до 18:00». Существующие пользователи смогут продолжать работу до тех пор, пока сами не выйдут из системы или не произойдет сбой соединения. Как только последний пользователь покинет базу, вы сможете зайти в неё единолично для проведения работ.

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

💡

Файл 1Cv8.cdn блокирует только новые подключения, не разрывая существующие сеансы, что делает его идеальным инструментом для планового закрытия базы в конце рабочего дня.

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

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

Для блокировки базы от новых подключений с помощью этой утилиты используется ключ /Lock. Команда запускается из каталога установки платформы или из папки, где лежит исполняемый файл утилиты. Синтаксис команды предполагает указание пути к базе данных. Например, команда может выглядеть так:

chdbfl.exe "D:\Bases\Accounting" /Lock

Выполнение этой команды создаст необходимый файл блокировки аналогично ручному созданию 1Cv8.cdn, но делает это программно и гарантированно корректно для текущей версии платформы. Для снятия блокировки используется ключ /Unlock. Важно отметить, что утилита chdbfl не принудительно завершает активные сеансы, она лишь меняет флаг доступности базы для новых сессий. Для полного сброса всех подключений эта утилита не предназначена, и здесь потребуется комбинация методов.

Ключ утилиты Описание действия Влияние на пользователей
/Lock Устанавливает флаг блокировки базы Запрещает вход новым пользователям
/Unlock Снимает флаг блокировки базы Разрешает вход всем пользователям
/SetLog Настраивает параметры журнала регистрации Не влияет на текущие сеансы
/ClearLog Очищает журнал регистрации Требует монопольного доступа
Где найти утилиту chdbfl?

Обычно она расположена в каталоге установки платформы 1С, например: C:\Program Files\1cv8\8.3.xx.xxxx\bin\chdbfl.exe. Путь может отличаться в зависимости от разрядности системы (x86 или x64) и версии релиза платформы.

Администрирование через сетевые ресурсы и права доступа

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

Через оснастку Управление компьютером (Computer Management) в разделе Общие папки -> Сеансы можно увидеть список всех пользователей, подключенных к ресурсам сервера. Администратор имеет возможность выбрать конкретного пользователя или всех сразу и нажать кнопку Разорвать сеанс. Это действие мгновенно обрывает сетевое соединение, что приводит к аварийному завершению работы клиента 1С у пользователя. Данные, не сохраненные в этот момент, будут утеряны.

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

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

Профилактика зависаний и настройка регламентных работ

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

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

Также стоит рассмотреть вопрос перехода на клиент-серверный вариант работы, если количество пользователей превышает 5-8 человек. Серверный вариант (на базе PostgreSQL или MS SQL) предоставляет цивилизованные инструменты управления сеансами через консоль администрирования серверов 1С, где можно гибко настраивать таймауты, блокировки и принудительно завершать процессы без риска повреждения файлов базы данных, характерного для файлового варианта.

💡

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

Часто задаваемые вопросы (FAQ)

Что делать, если файл 1Cv8.1CD.lck не удаляется?

Если файл не удаляется, значит, он действительно используется активным процессом. Проверьте диспетчер задач на наличие процессов ragent.exe или 1cv8.exe, которые могут удерживать файл. Если процессы отсутствуют, возможно, файл заблокирован антивирусом или службой индексирования. Попробуйте перезагрузить сервер или компьютер, на котором расположена база.

Можно ли выгнать пользователей, если я не администратор сервера?

Без прав администратора файлового ресурса или прав на запуск конфигуратора в монопольном режиме вы не сможете принудительно завершить сеансы. Вам потребуется обратиться к системному администратору, который имеет доступ к файловой системе сервера, или попросить пользователей самостоятельно завершить работу.

Повредится ли база, если выдернуть шнур питания сервера?

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

Как узнать, кто именно мешает зайти в базу?

При запуске конфигуратора в монопольном режиме система часто показывает список компьютеров или пользователей, которые сейчас работают в базе. Также можно посмотреть открытые файлы в оснастке "Управление компьютером" на сервере, чтобы увидеть, кто держит файлы базы открытыми.

Есть ли разница в методах для 1С 7.7 и 1С 8?

Да, в 1С 7.7 механизм блокировки реализован через файл lock.bin в папке DB. В 1С 8 используется файл 1Cv8.1CD.lck в корне базы. Принципы схожи, но имена файлов и утилиты управления отличаются. Для 1С 7.7 также существовала утилита lockcfg.exe.