К статье
Практический материал

Администрирование · 9 мин

Как разблокировать запись в 1С

Разбираем, почему запись в 1С заблокирована и как её разблокировать: завершение сеансов, снятие блокировок объекта, работа с консолью кластера и типичные ошибки.

Сообщение «Запись заблокирована» или «Конфликт блокировок при выполнении транзакции» — одна из самых частых проблем при работе в 1С. Она возникает, когда объект (документ, элемент справочника, запись регистра) уже открыт или изменяется другим пользователем либо фоновым процессом, а также когда предыдущий сеанс завершился аварийно и «повисшая» блокировка не была снята автоматически.

Причины бывают разными: пользователь открыл документ в режиме редактирования и отошёл, регламентное задание выполняет обмен данными, сеанс «завис» после обрыва связи, либо в файловой базе остался устаревший служебный файл блокировок. От причины зависит и способ решения — от простого ожидания до принудительного завершения сеанса администратором.

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

Как понять, кто и что заблокировал

Прежде чем что-то разблокировать, нужно установить источник блокировки. В тексте ошибки 1С обычно указывает, какой объект занят и каким сеансом. Если сообщение неинформативно, откройте в режиме «Предприятие» раздел «Администрирование» → «Обслуживание» → «Активные пользователи» (в типовых конфигурациях на БСП). Там видно, кто сейчас работает в базе и как долго.

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

Ошибка появляется у одного пользователяОбъект занят конкретным сеансом

Кто открыл этот документ или элемент прямо сейчас

Ошибка у всех пользователейРегламентное задание или обмен

Журнал регистрации и список фоновых заданий

База файловая, всех выкинулоВозможен зависший сеанс или блокировка файла

Наличие файла 1Cv8.1CL и процессов 1cv8 на компьютере с базой

Блокировка держится после закрытия 1СЗависший сеанс на сервере

Список сеансов в консоли кластера

Разблокировка через завершение сеанса пользователя

Самый безопасный способ — попросить коллегу закрыть объект или дождаться окончания его работы. Если пользователь недоступен, а сеанс явно завис, администратор может завершить его принудительно. В типовых конфигурациях это делается из списка «Активные пользователи»: выделите сеанс и нажмите «Завершить сеанс» (в некоторых версиях — через кнопку «Отключить»).

В клиент-серверном варианте надёжнее работать через консоль кластера серверов 1С. Откройте ветку нужной информационной базы, перейдите в «Сеансы», найдите зависший сеанс по имени пользователя и времени бездействия, затем выберите «Удалить» в контекстном меню. Блокировки, удерживаемые этим сеансом, будут сняты.

Порядок действий при зависшем сеансе
  1. 1
    Уточните у пользователя, закрыл ли он программу
  2. 2
    Откройте список активных пользователей или консоль кластера
  3. 3
    Найдите зависший сеанс по имени и времени бездействия
  4. 4
    Завершите сеанс штатной командой
  5. 5
    Попросите пользователя повторить операцию и убедитесь, что блокировка снята

Блокировка регламентными и фоновыми заданиями

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

Правильная тактика — открыть список фоновых заданий («Администрирование» → «Обслуживание» → «Регламентные и фоновые задания») и посмотреть состояние. Если задание выполняется, дождитесь завершения. Если оно «висит» сутками без прогресса — отмените его, а затем разберитесь в журнале регистрации, почему оно не завершилось штатно.

Особенности файловой базы

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

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

Управляемые блокировки и ошибки в коде

В современных конфигурациях используется управляемый режим блокировок: система сама контролирует конкурентный доступ, а ошибка «Конфликт блокировок» означает, что две транзакции одновременно изменяют связанные данные. Если такие ошибки возникают регулярно в одном и том же месте (например, при проведении документов по одному складу), это повод анализировать не сеансы, а архитектуру: длительные транзакции, последовательное проведение больших пакетов, неоптимальный код обработчиков.

Для разовой ситуации достаточно повторить операцию через несколько секунд. Для систематических конфликтов полезен технологический журнал с событием TLOCK и TDEADLOCK — он показывает, какие объекты и запросы участвуют в конфликте. Настройка технологического журнала относится к задачам администратора или разработчика и требует аккуратности: подробное логирование замедляет работу сервера.

Частые ошибки при снятии блокировок

Самая распространённая ошибка — перезагрузка сервера или компьютера с базой «для надёжности» без анализа причины. Блокировка, скорее всего, исчезнет, но вместе с ней могут прерваться обмены и обновления, а причина останется невыясненной и повторится снова.

Вторая ошибка — использование внешних обработок «снятия всех блокировок» без понимания их механизма. Часть таких инструментов просто завершает все сеансы, что равнозначно аварийному отключению пользователей с потерей несохранённых данных. Третья — ручное редактирование служебных таблиц СУБД: это почти гарантированный путь к повреждению базы и потере поддержки.

Типичные ошибки
01
Перезагрузка сервера без анализа — причина блокировок не устраняется и повторяется
02
Удаление 1Cv8.1CL при работающих процессах 1С — риск повреждения файловой базы
03
Прерывание обмена данными на середине — рассинхронизация узлов
04
Массовое завершение всех сеансов — потеря несохранённых данных пользователей

Как проверить, что проблема решена

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

Дополнительно проверьте журнал регистрации на предмет повторяющихся ошибок блокировок за последний час и убедитесь, что в списке сеансов нет «призраков» — сеансов от пользователей, которые точно завершили работу. Если ошибки продолжают появляться у разных пользователей, проблема системная и требует анализа регламентных заданий или кода.

Контрольные точки

Как проверить результат

Повторное выполнение операции
Норма

Запись сохраняется без сообщений о блокировке

Тревожный признак

Ошибка возникает снова у того же или другого пользователя

Список активных сеансов
Норма

Только реально работающие пользователи

Тревожный признак

Сеансы от людей, которые вышли из программы

Фоновые задания
Норма

Завершены или выполняются с видимым прогрессом

Тревожный признак

Задание висит без изменений длительное время

Итог

Что важно запомнить

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

Частые вопросы

Что делать, если ошибка «запись заблокирована» появляется, но никто не работает с объектом?

Скорее всего, блокировку держит зависший сеанс или фоновое задание. Проверьте список активных пользователей и фоновых заданий, а в клиент-серверной базе — сеансы в консоли кластера. Завершите сеанс, владелец которого уже вышел из программы.

Можно ли разблокировать запись без прав администратора?

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

Опасно ли завершать сеанс другого пользователя принудительно?

Да, если пользователь в этот момент вводит данные — несохранённые изменения будут потеряны. Перед завершением убедитесь, что сеанс действительно завис: пользователь недоступен, а время бездействия велико.

Почему блокировки возникают каждый день в одно и то же время?

Повторяющееся расписание почти всегда указывает на регламентное задание: обмен, резервное копирование средствами СУБД, загрузку данных. Найдите задание по расписанию и либо перенесите его на нерабочие часы, либо оптимизируйте его длительность.

Поможет ли переиндексация или тестирование и исправление базы?

Эти процедуры не снимают активные блокировки — они предназначены для устранения повреждений данных. Запускать их «на всякий случай» при рабочих пользователях нельзя: тестирование и исправление требует монопольного доступа к базе.

Что делать, если в файловой базе остался файл 1Cv8.1CL?

Убедитесь, что ни на одном компьютере нет запущенных процессов 1cv8, работающих с этой базой. Затем сделайте копию каталога базы и только после этого удаляйте файл блокировок. При работающих процессах удалять его запрещено.