Администрирование · 9 мин
Как разблокировать запись в 1С
Разбираем, почему запись в 1С заблокирована и как её разблокировать: завершение сеансов, снятие блокировок объекта, работа с консолью кластера и типичные ошибки.
Сообщение «Запись заблокирована» или «Конфликт блокировок при выполнении транзакции» — одна из самых частых проблем при работе в 1С. Она возникает, когда объект (документ, элемент справочника, запись регистра) уже открыт или изменяется другим пользователем либо фоновым процессом, а также когда предыдущий сеанс завершился аварийно и «повисшая» блокировка не была снята автоматически.
Причины бывают разными: пользователь открыл документ в режиме редактирования и отошёл, регламентное задание выполняет обмен данными, сеанс «завис» после обрыва связи, либо в файловой базе остался устаревший служебный файл блокировок. От причины зависит и способ решения — от простого ожидания до принудительного завершения сеанса администратором.
Ниже разобраны основные сценарии: как определить, кто держит блокировку, как снять её штатными средствами, что делать в файловой и клиент-серверной базе и каких действий лучше избегать, чтобы не повредить данные.
Как понять, кто и что заблокировал
Прежде чем что-то разблокировать, нужно установить источник блокировки. В тексте ошибки 1С обычно указывает, какой объект занят и каким сеансом. Если сообщение неинформативно, откройте в режиме «Предприятие» раздел «Администрирование» → «Обслуживание» → «Активные пользователи» (в типовых конфигурациях на БСП). Там видно, кто сейчас работает в базе и как долго.
Обратите внимание на признаки зависшего сеанса: пользователь давно не проявлял активности, а сам говорит, что программу уже закрыл. Такое бывает после обрыва сети, перезагрузки компьютера или аварийного завершения процесса. Сеанс при этом может продолжать числиться активным и удерживать блокировки.
Кто открыл этот документ или элемент прямо сейчас
Журнал регистрации и список фоновых заданий
Наличие файла 1Cv8.1CL и процессов 1cv8 на компьютере с базой
Список сеансов в консоли кластера
Разблокировка через завершение сеанса пользователя
Самый безопасный способ — попросить коллегу закрыть объект или дождаться окончания его работы. Если пользователь недоступен, а сеанс явно завис, администратор может завершить его принудительно. В типовых конфигурациях это делается из списка «Активные пользователи»: выделите сеанс и нажмите «Завершить сеанс» (в некоторых версиях — через кнопку «Отключить»).
В клиент-серверном варианте надёжнее работать через консоль кластера серверов 1С. Откройте ветку нужной информационной базы, перейдите в «Сеансы», найдите зависший сеанс по имени пользователя и времени бездействия, затем выберите «Удалить» в контекстном меню. Блокировки, удерживаемые этим сеансом, будут сняты.
- 1Уточните у пользователя, закрыл ли он программу
- 2Откройте список активных пользователей или консоль кластера
- 3Найдите зависший сеанс по имени и времени бездействия
- 4Завершите сеанс штатной командой
- 5Попросите пользователя повторить операцию и убедитесь, что блокировка снята
Блокировка регламентными и фоновыми заданиями
Если запись занята не пользователем, а фоновым процессом, в сообщении об ошибке часто упоминается фоновое задание. Типичные виновники — обмены данными, загрузка курсов валют, полнотекстовое индексирование, обновление базы. Прерывать такие задания посередине нежелательно: обмен, остановленный на половине, может оставить данные в несогласованном состоянии.
Правильная тактика — открыть список фоновых заданий («Администрирование» → «Обслуживание» → «Регламентные и фоновые задания») и посмотреть состояние. Если задание выполняется, дождитесь завершения. Если оно «висит» сутками без прогресса — отмените его, а затем разберитесь в журнале регистрации, почему оно не завершилось штатно.
Особенности файловой базы
В файловом варианте 1С блокировки хранятся в самой базе, а признаком активного подключения служит служебный файл 1Cv8.1CL рядом с файлом 1Cv8.1CD. Если все пользователи вышли, а зайти не получается, проверьте, не остался ли запущенным процесс 1cv8.exe на компьютере, где лежит база, или на машинах пользователей, работавших по сети.
Завершите найденные процессы через диспетчер задач, убедитесь, что файл 1Cv8.1CL исчез, и повторите вход. Удалять файл блокировок вручную можно только когда вы точно уверены, что ни один процесс 1С не работает с базой, — иначе возможны повреждения данных. Перед любыми действиями такого рода сделайте резервную копию каталога базы.
Управляемые блокировки и ошибки в коде
В современных конфигурациях используется управляемый режим блокировок: система сама контролирует конкурентный доступ, а ошибка «Конфликт блокировок» означает, что две транзакции одновременно изменяют связанные данные. Если такие ошибки возникают регулярно в одном и том же месте (например, при проведении документов по одному складу), это повод анализировать не сеансы, а архитектуру: длительные транзакции, последовательное проведение больших пакетов, неоптимальный код обработчиков.
Для разовой ситуации достаточно повторить операцию через несколько секунд. Для систематических конфликтов полезен технологический журнал с событием TLOCK и TDEADLOCK — он показывает, какие объекты и запросы участвуют в конфликте. Настройка технологического журнала относится к задачам администратора или разработчика и требует аккуратности: подробное логирование замедляет работу сервера.
Частые ошибки при снятии блокировок
Самая распространённая ошибка — перезагрузка сервера или компьютера с базой «для надёжности» без анализа причины. Блокировка, скорее всего, исчезнет, но вместе с ней могут прерваться обмены и обновления, а причина останется невыясненной и повторится снова.
Вторая ошибка — использование внешних обработок «снятия всех блокировок» без понимания их механизма. Часть таких инструментов просто завершает все сеансы, что равнозначно аварийному отключению пользователей с потерей несохранённых данных. Третья — ручное редактирование служебных таблиц СУБД: это почти гарантированный путь к повреждению базы и потере поддержки.
Как проверить, что проблема решена
После снятия блокировки попросите пользователя повторить именно ту операцию, которая вызывала ошибку: открыть и записать документ, провести его, изменить элемент справочника. Успешное выполнение без повторного сообщения — основной признак результата.
Дополнительно проверьте журнал регистрации на предмет повторяющихся ошибок блокировок за последний час и убедитесь, что в списке сеансов нет «призраков» — сеансов от пользователей, которые точно завершили работу. Если ошибки продолжают появляться у разных пользователей, проблема системная и требует анализа регламентных заданий или кода.
Как проверить результат
Запись сохраняется без сообщений о блокировке
Ошибка возникает снова у того же или другого пользователя
Только реально работающие пользователи
Сеансы от людей, которые вышли из программы
Завершены или выполняются с видимым прогрессом
Задание висит без изменений длительное время
Что важно запомнить
Блокировка записи — почти всегда следствие активного сеанса или фонового задания. Определите источник через список пользователей или консоль кластера, завершайте только зависшие сеансы, не трогайте обновления и обмены, а перед любыми действиями с файлами базы делайте резервную копию.
Частые вопросы
Что делать, если ошибка «запись заблокирована» появляется, но никто не работает с объектом?
Скорее всего, блокировку держит зависший сеанс или фоновое задание. Проверьте список активных пользователей и фоновых заданий, а в клиент-серверной базе — сеансы в консоли кластера. Завершите сеанс, владелец которого уже вышел из программы.
Можно ли разблокировать запись без прав администратора?
Напрямую — нет. Обычный пользователь может только дождаться освобождения объекта или попросить коллегу закрыть документ. Завершение чужих сеансов требует административных прав, поэтому при повторяющихся блокировках обращайтесь к администратору базы.
Опасно ли завершать сеанс другого пользователя принудительно?
Да, если пользователь в этот момент вводит данные — несохранённые изменения будут потеряны. Перед завершением убедитесь, что сеанс действительно завис: пользователь недоступен, а время бездействия велико.
Почему блокировки возникают каждый день в одно и то же время?
Повторяющееся расписание почти всегда указывает на регламентное задание: обмен, резервное копирование средствами СУБД, загрузку данных. Найдите задание по расписанию и либо перенесите его на нерабочие часы, либо оптимизируйте его длительность.
Поможет ли переиндексация или тестирование и исправление базы?
Эти процедуры не снимают активные блокировки — они предназначены для устранения повреждений данных. Запускать их «на всякий случай» при рабочих пользователях нельзя: тестирование и исправление требует монопольного доступа к базе.
Что делать, если в файловой базе остался файл 1Cv8.1CL?
Убедитесь, что ни на одном компьютере нет запущенных процессов 1cv8, работающих с этой базой. Затем сделайте копию каталога базы и только после этого удаляйте файл блокировок. При работающих процессах удалять его запрещено.