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

В большинстве случаев проблема решается простым удалением файла блокировки, но здесь есть нюансы. Неправильные действия могут привести к повреждению базы данных, особенно если речь идёт о клиент-серверном варианте или многопользовательском режиме. В этой статье мы разберём 5 проверенных способов удаления файла блокировки для разных версий 1С:Предприятие 8.3 и 8.2, а также расскажем, как избежать типичных ошибок.

Если вы работаете с файловой базой 1С, то файл блокировки обычно имеет расширение .LCK и находится в той же папке, где хранятся данные базы (например, 1Cv8.1CD). В клиент-серверном варианте механизм блокировки работает иначе — здесь может потребоваться вмешательство в настройки SQL Server или PostgreSQL. Мы рассмотрим оба сценария.

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

📊 Какой тип базы 1С вы используете?
Файловая (1Cv8.1CD)
Клиент-серверная (SQL)
Клиент-серверная (PostgreSQL)
Не знаю

1. Где находится файл блокировки 1С и как его найти

Локация файла блокировки зависит от типа базы данных и операционной системы. В файловом варианте он всегда лежит рядом с основными данными, а в клиент-серверном — может храниться на сервере SQL или в системных папках .

Для файловой базы путь выглядит так:

  • 📁 Windows: C:\Users\Public\Documents\1C\ИмяБазы\1Cv8.1CD или \\Сервер\ОбщаяПапка\1C\ИмяБазы\
  • 🐧 Linux: /var/1C/ИмяБазы/1Cv8.1CD/ или /home/1cv8/ИмяБазы/

Файл блокировки имеет имя вида:

  • 🔒 1Cv8.lck — для баз 1С:Предприятие 8.2
  • 🔒 1Cv8.1CD.LCK или 1Cv8Lock — для 8.3 (в зависимости от версии платформы)

В клиент-серверном варианте файл блокировки может отсутствовать как таковой, но блокировка накладывается на уровне SQL. В этом случае нужно проверять:

  • 🔄 Активные транзакции в Microsoft SQL Server Management Studio (для MSSQL)
  • 🔄 Сеансы пользователей в pgAdmin или через команду SELECT * FROM pg_stat_activity; (для PostgreSQL)

Если вы не уверены, где именно искать, воспользуйтесь поиском по диску:

dir /s /a 1Cv8.lck

или в Linux:

find / -name "1Cv8*.lck" 2>/dev/null
💡

В Windows включите отображение скрытых файлов и расширений в "Параметрах папок", иначе файл .LCK может быть не виден.

2. Как удалить файл блокировки 1С в файловом режиме

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

Шаг 1. Закройте все процессы 1С

  • 🖥️ Откройте Диспетчер задач (Ctrl+Shift+Esc)
  • 🔍 Найдите процессы 1cv8.exe, 1cv8s.exe, ragent.exe и завершите их
  • 🔄 Перезагрузите компьютер (рекомендуется, но не обязательно)

Шаг 2. Удалите файл блокировки

  • 📂 Перейдите в папку с базой (см. раздел 1)
  • 🗑️ Найдите файл 1Cv8.lck (или 1Cv8Lock) и удалите его
  • 🔄 Попробуйте снова открыть базу

Если файл не удаляется, значит он занят другим процессом. В этом случае:

  1. Проверьте, не запущена ли на другом компьютере (в сетевой папке)
  2. Используйте утилиту Unlocker (для Windows) или команду lsof (для Linux), чтобы выяснить, какой процесс блокирует файл
  3. Если ничего не помогает, перезагрузите сервер или компьютер в безопасном режиме и повторите попытку

Закрыты все окна 1С на всех компьютерах|Отсутствуют процессы 1cv8.exe в Диспетчере задач|Сделан бэкап базы (рекомендуется)|Права доступа позволяют удалять файлы в папке-->

3. Удаление блокировки в клиент-серверном варианте (SQL/PostgreSQL)

В клиент-серверном режиме файл .LCK может отсутствовать, но база всё равно будет заблокирована. Здесь проблема кроется в активных сеансах на сервере СУБД. Рассмотрим решения для Microsoft SQL Server и PostgreSQL.

Для Microsoft SQL Server:

  • 🔧 Откройте SQL Server Management Studio и подключитесь к серверу
  • 🔍 Выполните запрос, чтобы найти заблокированные сеансы:
    SELECT
    

    session_id,

    login_name,

    host_name,

    program_name

    FROM sys.dm_exec_sessions

    WHERE program_name LIKE '%1C%'

  • ❌ Убейте проблемный сеанс командой:
    KILL {session_id}

    (замените {session_id} на реальный номер из результатов запроса)

Для PostgreSQL:

  • 🔧 Подключитесь к базе через psql или pgAdmin
  • 🔍 Найдите активные соединения:
    SELECT pid, usename, application_name, query
    

    FROM pg_stat_activity

    WHERE application_name LIKE '%1C%';

  • ❌ Принудительно завершите сеанс:
    SELECT pg_terminate_backend({pid});

Если после этого база всё равно не открывается, проверьте журналы сервера 1С (srvinfo.log в папке \Program Files\1cv8\srvinfo\). Возможно, проблема в повреждении данных — в этом случае потребуется восстановление из резервной копии.

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

Если после всех манипуляций 1С выдаёт ошибку типа "Файл базы данных повреждён" или "Несоответствие версии формата", значит блокировка была не единственной проблемой. В этом случае:

  1. Попробуйте открыть базу в режиме конфигуратора с галочкой "Проверка и исправление".
  2. Восстановите базу из последнего бэкапа (если он есть).
  3. Используйте утилиту chdbfl.exe (входит в комплект 1С) для проверки целостности файлов:
    chdbfl.exe ПутьКФайлуБазы.1CD --test-and-fix

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

4. Как удалить файл блокировки, если нет прав доступа

Частая проблема в корпоративных сетях — отсутствие прав на удаление файла .LCK. Это может быть связано с:

  • 🔐 Ограничениями Active Directory (в доменных сетях)
  • 🔐 Правами ntfs на папку с базой
  • 🔐 Политиками безопасности на сервере

Решения:

  1. Запросите права у администратора — самый надёжный способ. Опишите проблему и попросите временно предоставить доступ к папке.
  2. Используйте учётную запись администратора:
    • 🖥️ В Windows: запустите Командную строку от имени администратора и выполните:
      takeown /f "ПутьКФайлу\1Cv8.lck" /a
      

      icacls "ПутьКФайлу\1Cv8.lck" /grant Администраторы:F

    • 🐧 В Linux: используйте sudo:
      sudo chown $USER:$USER /путь/к/файлу/1Cv8.lck
      

      sudo chmod 777 /путь/к/файлу/1Cv8.lck

  • Скопируйте базу в другое место (если права только на чтение):
    • Создайте новую папку на локальном диске.
    • Скопируйте туда все файлы базы кроме .LCK.
    • Подключите базу через 1Cv8.1CD в новой локации.

    ⚠️ Внимание: Изменение прав доступа с помощью icacls или chmod 777 может создать бреши в безопасности. После удаления файла блокировки верните исходные разрешения!

    5. Автоматическое удаление файлов блокировки: скрипты и утилиты

    Если проблема с блокировками возникает регулярно, имеет смысл автоматизировать процесс. Ниже приведены готовые решения для Windows и Linux.

    Скрипт для Windows (bat-файл):

    @echo off
    

    :: Удаление файлов блокировки 1С в указанной папке

    set "folder=C:\Users\Public\Documents\1C\ИмяБазы\1Cv8.1CD"

    :: Проверяем, существует ли папка

    if not exist "%folder%" (

    echo Папка не найдена: %folder%

    pause

    exit

    )

    :: Удаляем файлы .LCK

    del /f /q "%folder%\*.LCK" 2>nul

    :: Выводим результат

    if %errorlevel% equ 0 (

    echo Файлы блокировки успешно удалены.

    ) else (

    echo Ошибка при удалении. Возможно, файлы заняты.

    )

    pause

    Скрипт для Linux (bash):

    #!/bin/bash
    

    Путь к папке с базой

    FOLDER="/var/1C/ИмяБазы/1Cv8.1CD"

    Проверяем существование папки

    if [ ! -d "$FOLDER" ]; then

    echo "Папка не найдена: $FOLDER"

    exit 1

    fi

    Удаляем файлы блокировки

    find "$FOLDER" -name "*.LCK" -type f -delete

    Проверяем результат

    if [ $? -eq 0 ]; then

    echo "Файлы блокировки удалены успешно."

    else

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

    fi

    Утилита 1C Lock Remover

    • 🛠️ Бесплатная программа для автоматического поиска и удаления файлов блокировки.
    • 🔍 Поддерживает сканирование нескольких папок и сетевых дисков.
    • 📥 Скачать с Infostart (проверьте актуальность версии).

    ⚠️ Внимание: Автоматические скрипты следует запускать только после закрытия всех сеансов 1С. В противном случае вы рискуете повредить данные базы.

    Способ удаления Подходит для Плюсы Минусы
    Ручное удаление через Проводник Файловые базы, Windows/Linux Простота, не требует дополнительных инструментов Нужны права доступа, не подходит для серверных блокировок
    Команды KILL в SQL/PostgreSQL Клиент-серверные базы Решает проблему на уровне СУБД Требует знания SQL, права администратора базы
    Скрипты (.bat/.sh) Любые базы Автоматизация, подходит для регулярного использования Нужно настраивать под свою структуру папок
    Утилита 1C Lock Remover Файловые базы Удобный интерфейс, сканирование нескольких папок Не официальный инструмент, возможны ложные срабатывания

    6. Как избежать появления файлов блокировки в будущем

    Чтобы минимизировать риск возникновения блокировок, следуйте этим рекомендациям:

    1. Правильное завершение работы с 1С

    • 🚫 Не закрывайте программу через Диспетчер задач или кнопку X в окне.
    • ✅ Всегда выходите через меню Файл → Выход.
    • 🔌 Используйте ИБП (источник бесперебойного питания) для защиты от внезапного отключения электричества.

    2. Настройка сервера 1С

    • ⚙️ Установите таймаут сеансов в кластере серверов 1С (через Консоль администрирования).
    • 🔄 Настройте автоматическое удаление "зависших" сеансов в SQL Server или PostgreSQL.

    3. Резервное копирование и мониторинг

    • 💾 Регулярно делайте бэкапы базы (хотя бы раз в день).
    • 📊 Используйте утилиты мониторинга, например:
      • Zabbix для отслеживания активных сеансов
      • 1C:Предприятие. Монитор сервера (входит в дистрибутив)

    4. Обновление платформы 1С

    • 🔄 Регулярно обновляйте платформу 1С:Предприятие до актуальной версии.
    • 🛡️ В новых версиях улучшена обработка аварийных ситуаций, что снижает риск "зависших" блокировок.
    💡

    Самая частая причина блокировок — неправильное завершение сеанса 1С. Настройте автосохранение и обучайте пользователей корректно выходить из программы.

    FAQ: Частые вопросы о файлах блокировки 1С

    ❓ Можно ли просто переименовать файл .LCK вместо удаления?

    Да, это равносильно удалению. Главное — чтобы файл перестал существовать в папке с базой. Однако лучше всё же удалять его полностью, чтобы избежать путаницы.

    ❓ Почему файл блокировки появляется снова после удаления?

    Это значит, что где-то всё ещё работает сеанс 1С (возможно, на другом компьютере в сети). Проверьте активные процессы на всех машинах, подключённых к базе, или перезагрузите сервер.

    ❓ Что делать, если после удаления .LCK база открывается в режиме "Только чтение"?

    Скорее всего, проблема не в блокировке, а в правах доступа к файлам базы. Проверьте, что у пользователя есть права на запись в папку с 1Cv8.1CD.

    ❓ Можно ли удалить файл блокировки, если база используется в облаке (1C:Fresh, 1C:ГISPRU)?

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

    ❓ Как удалить блокировку, если база находится на Linux-сервере, а у меня только Windows?

    Используйте SFTP-клиент (например, WinSCP) или подключитесь по SSH через PuTTY. Команды для удаления см. в разделе 4.