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

Эта статья поможет разобраться, как принудительно завершить сеанс в файловой базе 1С 8.3 (актуально и для 1С 8.2), не повредив данные. Мы рассмотрим как стандартные методы через конфигуратор, так и альтернативные подходы — от ручного удаления файлов блокировок до использования внешних утилит. Особое внимание уделено безопасности данных и предотвращению потерь при аварийном сбросе.

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

Почему возникают "зависшие" сеансы в файловой базе 1С

В файловой базе механизм блокировок реализован через файлы с расширением .LCK (от англ. lock — блокировка). Эти файлы создаются автоматически при открытии базы и должны удаляться при корректном завершении сеанса. Если же программа закрылась аварийно (например, из-за падения , отключения электричества или "зависания" Windows), файлы блокировок остаются, и база становится недоступной для других пользователей.

Основные причины "зависших" сеансов:

  • 💥 Аварийное завершение работы — выключение компьютера через кнопку питания, "синий экран" (BSOD) или принудительное закрытие процесса 1cv8.exe через диспетчер задач.
  • 🖥️ Сбои в сети — если база расположена на сетевом диске (NAS, общая папка Windows), разрыв соединения может не дать корректно удалить блокировки.
  • Ошибки платформы — баги в конкретных версиях 1С:Предприятие, например, в релизах 8.3.18–8.3.20 были проблемы с освобождением блокировок при длительных операциях.
  • 👥 Неправильные действия пользователей — например, запуск базы в монопольном режиме с последующим "подвисанием" процесса.

В клиент-серверном варианте такие проблемы решаются через Расширение возможностей администрирования сервера 1С (RAS), но в файловой базе нет централизованного управления сеансами. Это делает задачу сброса блокировок более трудоёмкой.

📊 Как часто вы сталкиваетесь с блокировками в файловой базе 1С?
Раз в неделю или чаще
Раз в месяц
Редко, несколько раз в год
Никогда не сталкивался

Метод 1: Сброс сеанса через Конфигуратор (стандартный способ)

Самый безопасный и рекомендуемый способ — использование встроенных инструментов Конфигуратора. Он подходит, если у вас есть права администратора базы и доступ к компьютеру, где хранится файловая база.

Пошаговая инструкция:

  1. Закройте все экземпляры 1С:Предприятие на всех рабочих местах.
  2. Запустите Конфигуратор от имени администратора (правый клик по ярлыку → Запуск от имени администратора).
  3. В окне выбора базы выделите проблемную файловую базу и нажмите Конфигуратор (не 1С:Предприятие!).
  4. В меню Конфигуратора перейдите в Администрирование → Активные пользователи.
  5. В списке найдите "зависший" сеанс (обычно он отмечен как "Не отвечает" или с временем последней активности несколько часов/дней назад).
  6. Выделите сеанс и нажмите Завершить (или Снять блокировку в старых версиях).
  7. Подтвердите действие в диалоговом окне.

Если сеанс успешно снят, можно открывать базу в режиме 1С:Предприятие. Если же в списке Активные пользователи нет "зависших" сеансов, но база всё равно заблокирована — переходите к следующему методу.

Закрыть 1С на всех рабочих местах|Проверить права администратора|Запустить Конфигуратор от имени админа|Убедиться в отсутствии активных операций в базе-->

Метод 2: Ручное удаление файлов блокировок (.LCK)

Если Конфигуратор не помогает или недоступен (например, из-за ошибки "База данных используется в монопольном режиме"), придётся удалять файлы блокировок вручную. Этот метод требует осторожности, так как неправильные действия могут привести к повреждению данных.

Алгоритм действий:

  1. Убедитесь, что 1С:Предприятие закрыта на всех компьютерах, подключённых к базе.
  2. Перейдите в папку с файловой базой (обычно это сетевая папка или локальный каталог, например, C:\Bases\НашаБаза).
  3. Найдите файлы с расширением .LCK. Их имена могут выглядеть так:
    • 1Cv8.lck — основной файл блокировки базы.
    • 1Cv8CD.lck — блокировка для работы с конфигуратором.
    • 1Cv8{XXXX}.LCK — индивидуальные блокировки сеансов (где XXXX — уникальный идентификатор).
  • Удалите все файлы .LCK. Для этого может потребоваться разрешение на изменение (если база на сетевом диске).
  • Перезапустите 1С:Предприятие и проверьте доступность базы.
  • Если файлы .LCK не удаляются с сообщением "Файл используется другой программой", выполните следующие действия:

    • 🔄 Перезагрузите компьютер, на котором хранится база (если это локальная папка).
    • 🛡️ Используйте Unlocker или аналогичные утилиты для принудительного удаления заблокированных файлов.
    • 🖥️ Проверьте в Диспетчере задач наличие процессов 1cv8.exe, ragent.exe или rmngr.exe и завершите их.
    💡

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

    Метод 3: Использование утилиты chdbfl.exe для восстановления

    В комплекте поставки 1С:Предприятие есть утилита chdbfl.exe (расположена в папке bin платформы, например, C:\Program Files\1cv8\8.3.23.1234\bin). Она предназначена для проверки и восстановления целостности файловой базы, но также может помочь при проблемах с блокировками.

    Инструкция по использованию:

    1. Закройте все сеансы .
    2. Откройте Командную строку от имени администратора (Win + R → введите cmdCtrl+Shift+Enter).
    3. Перейдите в папку с утилитой:
      cd "C:\Program Files\1cv8\8.3.23.1234\bin"

      (замените путь на актуальный для вашей версии ).

    4. Выполните команду проверки и исправления:
      chdbfl.exe -p "Путь\к\базе\1Cv8.1CD" -fix

      Например:

      chdbfl.exe -p "D:\Bases\Trade\1Cv8.1CD" -fix
    5. Дождитесь завершения процесса (может занять несколько минут для крупных баз).

    После выполнения утилита выведет отчёт о найденных и исправленных ошибках. Если в отчёте есть строка "Lock files removed" — блокировки успешно сняты. Если утилита сообщает о повреждении данных, потребуется восстановление из резервной копии.

    Что делать, если chdbfl.exe не находит утилиту?

    Если при вводе команды система пишет "chdbfl.exe не является внутренней или внешней командой", значит:

    1. Вы указали неверный путь к папке bin.

    2. Утилита отсутствует в вашей сборке 1С (редко, но бывает в "облегчённых" дистрибутивах).

    Решение: проверьте путь через Проводник или переустановите платформу 1С с опцией "Полная установка".

    Метод 4: Перезапуск службы Агент сервера 1С:Предприятия (для сетевых баз)

    Если файловая база расположена на сервере или сетевом хранилище (например, NAS или общая папка Windows), проблема может быть связана с фоновыми службами . В этом случае поможет перезапуск Агента сервера 1С (ragent.exe).

    Как выполнить перезапуск:

    • 🖥️ На сервере (или компьютере, где хранится база) откройте Службы Windows:
      • Нажмите Win + R, введите services.msc.
      • Найдите службу "Агент сервера 1С:Предприятия 8.3" (название может отличаться в зависимости от версии).
      • Щёлкните правой кнопкой и выберите Перезапустить.
    • 🔄 Если служба не перезапускается, попробуйте сначала Остановить, затем Запустить.
    • 🛠️ Если в списке служб нет Агента — проверьте, установлена ли платформа на сервере в серверном варианте (не только клиентская часть).

    После перезапуска службы попробуйте снова открыть базу. Если проблема сохраняется, проверьте, не блокирует ли доступ антивирус или брандмауэр (особенно актуально для Kaspersky Endpoint Security или ESET NOD32, которые могут рассматривать файлы .LCK как подозрительные).

    💡

    Перезапуск Агента сервера 1С помогает только для сетевых файловых баз. Если база локальная (на одном компьютере), этот метод не сработает.

    Метод 5: Альтернативные способы (для опытных пользователей)

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

    Варианты для опытных администраторов:

    • 🔧 Редактирование файла 1Cv8.1CD в hex-редакторе:

      Файл базы 1Cv8.1CD содержит метаданные о блокировках. С помощью утилит вроде HxD или 010 Editor можно вручную удалить записи о заблокированных сеансах. Это рискованно и может привести к полной потере данных, если вы не знаете структуру файла.

    • 📂 Копирование базы в новую папку:

      Иногда помогает просто скопировать файлы базы (1Cv8.1CD, 1Cv8Log и т.д.) в другой каталог и открыть базу оттуда. Новая папка не будет содержать "зависшие" блокировки.

    • 🔄 Откат на резервную копию:

      Если блокировка критична и никакие методы не помогают, восстановите базу из последней рабочей копии. Убедитесь, что копия сделана до момента возникновения блокировки.

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

    @echo off
    

    del /f /q "D:\Bases\Trade\*.LCK"

    echo Блокировки сброшены.

    pause

    💡

    Перед использованием hex-редакторов сделайте полную копию файла 1Cv8.1CD. Даже незначительное изменение структуры может сделать базу нечитаемой!

    Таблица: Сравнение методов сброса сеансов

    Метод Сложность Риск для данных Когда применять Требуемые права
    Конфигуратор (Активные пользователи) Низкая Минимальный Первый шаг при любой блокировке Администратор базы
    Удаление файлов .LCK Средняя Низкий (при правильных действиях) Если Конфигуратор не помогает Доступ к папке с базой
    Утилита chdbfl.exe Средняя Средний (может повредить данные при ошибках) При подозрении на повреждение базы Локальный администратор
    Перезапуск Агента сервера Низкая Минимальный Для сетевых баз с фоновыми службами Администратор сервера
    Hex-редактирование / скрипты Высокая Высокий Только в крайнем случае Опытный администратор

    Частые ошибки и как их избежать

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

    • Удаление не тех файлов:

      Некоторые пользователи по ошибке удаляют 1Cv8.1CD или 1Cv8Log, думая, что это блокировки. Это приведёт к потере данных! Удаляйте только файлы с расширением .LCK.

    • Игнорирование резервных копий:

      Перед любыми манипуляциями с базой обязательно сделайте резервную копию. Даже стандартные операции могут пойти не так (например, из-за сбоя диска).

    • Работа под учётной записью без прав:

      Если база расположена на сетевом диске, у пользователя должны быть права на изменение и удаление файлов. Иначе вы не сможете удалить .LCK.

    • Использование устаревших версий chdbfl.exe:

      Утилита из старой версии (например, 8.2) может некорректно работать с базой 8.3. Всегда используйте chdbfl.exe из той же папки, где установлена актуальная платформа.

    Чтобы минимизировать риски, следуйте простому правилу: "Сначала самый безопасный метод, затем более рискованные". Начинайте с Конфигуратора, затем пробуйте удаление .LCK, и только в крайнем случае прибегайте к chdbfl.exe или hex-редактированию.

    💡

    Никогда не удаляйте файлы базы через Total Commander или Far Manager в режиме "Удалить с пропуском корзины". Это может привести к фрагментации данных и дальнейшим ошибкам.

    FAQ: Ответы на частые вопросы

    Можно ли сбросить сеанс в файловой базе 1С, если нет прав администратора?

    Без прав администратора вы можете попробовать:

    • Попросить администратора сбросить сеанс через Конфигуратор.
    • Если база локальная (на вашем компьютере), запустите от имени администратора (правый клик по ярлыку → Запуск от имени администратора).
    • Использовать утилиты вроде Unlocker для удаления файлов .LCK, но это может не сработать без соответствующих прав.

    В сетевой базе без прав на папку сбросить сеанс невозможно.

    Почему после удаления .LCK файлы появляются снова?

    Это означает, что:

    • На одном из компьютеров всё ещё работает "зависший" процесс 1cv8.exe (проверьте Диспетчер задач на всех рабочих станциях).
    • База открыта в монопольном режиме (например, для обновления или тестирования).
    • Антивирус или брандмауэр блокирует доступ к файлам, и не может их корректно удалить.

    Решение: завершите все процессы на всех компьютерах, временно отключите антивирус и повторите удаление.

    Как предотвратить блокировки в файловой базе 1С?

    Профилактические меры:

    • 🔄 Настройте автоматическое создание резервных копий (например, через 1С:Администрирование сервера или сторонние утилиты).
    • 💾 Используйте источник бесперебойного питания (ИБП) для сервера/компьютера с базой.
    • 🛡️ Обновите платформу до последней стабильной версии (в новых релизах исправлены многие ошибки с блокировками).
    • 📂 Перейдите на клиент-серверный вариант, если количество пользователей превышает 5–10 человек.
    Что делать, если после сброса сеанса база открывается, но данные повреждены?

    Если после снятия блокировки вы видите:

    • Ошибки вида "Повреждены данные таблицы X",
    • Отсутствие части документов или справочников,
    • Некорректные остатки в отчётах,

    необходимо:

    1. Восстановить базу из последней рабочей резервной копии.
    2. Если копии нет — использовать chdbfl.exe -fix или обратиться в службу поддержки .
    3. Проверять целостность данных после каждого сбоя с помощью отчётов (например, "Анализ состояния информационной базы").
    Можно ли автоматизировать сброс блокировок?

    Да, для автоматизации подойдут:

    • 📜 Скрипты на PowerShell/Batch, которые проверяют наличие .LCK и удаляют их по расписанию (например, ночью).
    • 🤖 Планировщик задач Windows для регулярного запуска chdbfl.exe -test (проверка без исправлений).
    • 🔧 Сторонние утилиты вроде 1C Lock Remover (платные и бесплатные решения).

    Пример скрипта для автоматического удаления блокировок:

    @echo off
    

    :: Скрипт для удаления LCK-файлов в файловой базе 1С

    :: Запускать с правами администратора

    set BASE_PATH="D:\Bases\Trade"

    :: Удаляем все LCK-файлы

    del /f /q %BASE_PATH%\*.LCK >nul 2>&1

    :: Записываем лог

    echo %date% %time%: Блокировки сброшены в %BASE_PATH% >> "C:\Logs\1C_Lock_Cleaner.log"

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

    Если ни один из методов не помог, или вы боитесь повредить данные, обратитесь в службу технической поддержки или к сертифицированному партнёру. В некоторых случаях (например, при серьёзном повреждении файла 1Cv8.1CD) может потребоваться восстановление базы из архива или ремонт с помощью специализированных инструментов.

    Помните: файловая база не предназначена для интенсивной многопользовательской работы. Если блокировки возникают регулярно, рассмотрите возможность перехода на клиент-серверный вариант или облачные решения (например, 1С:Fresh).