Администрирование · 8 мин
1С: как узнать, кто заблокировал документ и снять блокировку
Как узнать, кто заблокировал объект в 1С: сообщение о блокировке, журнал регистрации, активные сеансы и способы снять блокировку без потери данных.
При попытке открыть или записать документ в 1С пользователь нередко видит сообщение «Конфликт блокировок при выполнении транзакции» или «Объект заблокирован». Это штатный механизм: платформа защищает данные от одновременного изменения двумя сеансами. Проблема в том, что блокировка может «зависнуть» — например, если у пользователя аварийно закрылся сеанс, а сервер ещё держит соединение.
Чтобы разблокировать документ, сначала нужно понять, кто его держит. В зависимости от режима работы (файловая база или клиент-серверная) и конфигурации есть несколько способов: текст самого сообщения об ошибке, журнал регистрации, список активных пользователей и консоль кластера серверов 1С. Ниже разобран каждый вариант с конкретными шагами.
Важно различать два типа блокировок. Управляемые блокировки данных возникают при записи объекта в транзакции и снимаются автоматически. Объектные (прикладные) блокировки ставятся, когда пользователь открыл форму документа на редактирование, — именно они чаще всего мешают коллегам и требуют ручного вмешательства.
Чтение сообщения об ошибке: самый быстрый способ
В большинстве типовых конфигураций (Бухгалтерия предприятия, Управление торговлей, ERP) сообщение о конфликте блокировок содержит имя пользователя, который держит объект. Типичный текст выглядит так: «Не удалось заблокировать объект... Документ редактируется пользователем Иванов И.И. (сеанс 45)».
Поэтому первое действие — не закрывать окно ошибки, а внимательно прочитать его полностью, развернув подробности кнопкой «Подробно», если она есть. Там же часто указан номер сеанса, по которому можно идентифицировать конкретное подключение пользователя, если у него открыто несколько окон 1С.
Если в сообщении указан только компьютер без имени пользователя, значит, блокировку держит фоновое задание, регламентная операция или сеанс, запущенный под служебной учётной записью (например, обмен данными). В этом случае переходите к журналу регистрации.
Журнал регистрации: как найти событие блокировки
Журнал регистрации — основной инструмент, когда сообщение об ошибке неинформативно или нужно установить историю: кто и когда заблокировал объект. Откройте его через «Администрирование → Обслуживание → Журнал регистрации» (в типовых конфигурациях) или через конфигуратор: «Администрирование → Журнал регистрации».
Чтобы не пролистывать тысячи записей, настройте отбор. Укажите период — несколько минут до и после возникновения ошибки. В отборе по событиям выберите группы, связанные с данными: «Данные. Изменение», «Данные. Добавление», а также ошибки. В поле «Данные» или «Комментарий» можно указать представление документа, например его номер.
В найденных записях смотрите колонки «Пользователь», «Компьютер», «Сеанс» и «Соединение». Запись об ошибке блокировки покажет, какой сеанс удерживал объект в момент конфликта. Сопоставив номер сеанса со списком активных пользователей, вы точно определите виновника.
- 1Откройте журнал регистрации через Администрирование или конфигуратор
- 2Установите отбор по периоду: 10–15 минут вокруг момента ошибки
- 3В отборе по событиям отметьте ошибки и события изменения данных
- 4Найдите запись с текстом про блокировку и выпишите номер сеанса и пользователя
- 5Сопоставьте сеанс со списком активных пользователей и свяжитесь с ним
Активные пользователи и сеансы
Файловая база
В файловом режиме откройте «Администрирование → Пользователи и права → Активные пользователи» (название пункта может немного отличаться в зависимости от конфигурации). Список покажет всех, кто сейчас подключён к базе, с указанием компьютера и времени начала сеанса.
Если в сообщении об ошибке был номер сеанса, найдите его в этом списке. Обратите внимание на «зависшие» сеансы: пользователь в списке есть, но сам он уже ушёл домой, а компьютер выключен или 1С закрыта аварийно. Такие сеансы в файловом режиме обычно пропадают сами через некоторое время, но иногда требуют перезапуска.
Клиент-серверный режим
В клиент-серверном варианте полную картину даёт консоль кластера серверов 1С. Откройте утилиту администрирования серверов, найдите нужную информационную базу и перейдите на вкладку «Сеансы». Здесь видны все подключения: пользователь, компьютер, время начала, последняя активность и признак спящего сеанса.
Колонка «Блокировки» или контекстные сведения о сеансе помогают понять, какой сеанс удерживает управляемые блокировки. Зависший сеанс можно завершить принудительно через контекстное меню — блокировки при этом снимутся автоматически.
Как снять блокировку безопасно
Самый безопасный путь — попросить пользователя, который держит документ, закрыть форму или завершить редактирование. Если пользователь недоступен, а документ нужен срочно, действуйте по нарастающей.
Сначала проверьте, не «спящий» ли это сеанс. В консоли кластера посмотрите время последнего обращения: если активности нет десятки минут, сеанс, скорее всего, завис, и его можно завершить. В файловой базе аналогичный эффект даёт ожидание таймаута или перезапуск открытой у пользователя программы.
Если блокировку держит регламентное задание (обмен, закрытие месяца, обновление), дождитесь его окончания или остановите задание штатно — через консоль заданий, а не обрывом процесса. Принудительное завершение рабочего процесса сервера 1С — крайняя мера: она затронет всех пользователей базы.
Как выбрать действие
Почему блокировки зависают и как это предотвратить
Типичные причины зависших блокировок: аварийное закрытие клиента (обрыв сети, отключение электричества, снятие процесса через диспетчер задач), длительные регламентные задания, обмены данными в момент активной работы пользователей и слишком большие таймауты завершения спящих сеансов.
Для профилактики настройте в свойствах информационной базы в консоли кластера параметры «Интервал перезапуска» и завершение спящих сеансов: разумные значения таймаута позволяют серверу автоматически убирать мёртвые подключения. Планируйте тяжёлые регламентные операции на нерабочее время.
Также полезно обучить пользователей простому правилу: не оставлять открытыми на редактирование формы документов надолго. Во многих конфигурациях есть настройка, которая снимает объектную блокировку при бездействии формы.
Частые вопросы
Можно ли узнать, кто заблокировал документ, без прав администратора?
Да, частично. Сообщение об ошибке с именем пользователя видно любому сотруднику. А вот журнал регистрации и список активных пользователей в типовых конфигурациях обычно доступны только с правами администратора, поэтому за деталями придётся обратиться к нему.
Документ заблокирован, а пользователь в списке активных отсутствует. Что это значит?
Скорее всего, блокировку держит фоновое или регламентное задание либо сеанс служебного пользователя (обмен данными, интеграция). Проверьте список сеансов в консоли кластера — там видны и системные подключения, которых нет в прикладном списке активных пользователей.
Снимется ли блокировка сама, если просто подождать?
Управляемые блокировки транзакций снимаются автоматически после завершения транзакции — обычно это секунды. Объектные блокировки формы держатся, пока открыта форма или жив сеанс. Спящие сеансы сервер завершает по таймауту, заданному в свойствах базы.
Можно ли принудительно снять блокировку с конкретного документа?
Штатной кнопки «снять блокировку с объекта» в платформе нет: блокировка привязана к сеансу. Поэтому снять её можно только завершив редактирование в этом сеансе или завершив сам сеанс. Сторонние обработки, изменяющие блокировки напрямую, использовать небезопасно.
Почему конфликт блокировок возникает при групповом проведении?
При массовом проведении 1С блокирует сразу много объектов, и вероятность столкнуться с работающим пользователем растёт. Запускайте групповое проведение в нерабочее время или повторяйте операцию: документы, заблокированные в первый проход, часто проводятся при повторном запуске.
Что важно запомнить
Имя блокирующего чаще всего уже есть в тексте ошибки. Если его нет — используйте журнал регистрации с отбором по времени и список сеансов в консоли кластера. Завершайте чужие сеансы только после проверки их активности, а повторяющиеся конфликты устраняйте настройкой таймаутов и расписания регламентных заданий.