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

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

Как проверить блокировку 1С и найти её источник

Как проверить блокировку 1С: просмотр активных сеансов, журнал регистрации, консоль кластера, управляемые блокировки и способы снять зависший сеанс.

Блокировка в 1С проявляется по-разному: программа зависает при записи документа, обмен данными останавливается с ошибкой, пользователи не могут войти в базу, а регламентные задания не выполняются. Чтобы устранить проблему, сначала нужно понять, с каким типом блокировки вы столкнулись — это определяет инструмент проверки.

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

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

Определите тип блокировки по симптомам

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

Если программа зависает при проведении конкретного документа, а другие функции работают нормально, это указывает на транзакционную блокировку: другой сеанс уже изменяет те же данные, и ваш сеанс ждёт освобождения ресурса. Характерное сообщение — «Конфликт блокировок при выполнении транзакции» или длительное ожидание без ошибки.

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

Никто не может войти в базуБлокировка сеансов

Смотрите свойства информационной базы в консоли кластера

Зависает запись документаТранзакционная блокировка

Ищите второй сеанс, работающий с теми же данными

Не работают регламентные заданияБлокировка регламентных заданий

Проверьте отдельный флаг в свойствах базы

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

Анализируйте журнал регистрации и код конфигурации

Проверка блокировки сеансов через консоль кластера

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

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

Чтобы временно впустить пользователей, снимите флаг или сдвиньте время окончания блокировки. Чтобы войти самому при активной блокировке, запустите базу с параметром /UC и кодом разрешения, указанным в свойствах базы.

Поиск зависших сеансов и активных соединений

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

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

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

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

Анализ транзакционных блокировок через журнал регистрации

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

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

Для глубокой диагностики в клиент-серверном режиме используют технологический журнал с событием TLOCK и мониторинг блокировок на стороне СУБД (например, динамические представления в MS SQL Server). Это уже задача администратора СУБД: самостоятельно вмешиваться в работу сервера баз данных без опыта не следует.

Проверка блокировки в файловом режиме

В файловой базе консоли кластера нет, поэтому диагностика проще и ограниченнее. Блокировка сеансов устанавливается через функциональность конфигурации (в типовых решениях — раздел «Администрирование», «Обслуживание», «Блокировка работы пользователей») или параметром запуска /C с командой установки блокировки.

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

Зависшие процессы в файловом режиме проверяют через диспетчер задач Windows на компьютерах пользователей и на сервере, где лежит файл базы: завершённые аварийно процессы 1cv8.exe могут удерживать файловые блокировки. После завершения всех процессов проверьте наличие служебного файла блокировок рядом с файлом базы — при штатном закрытии всех сеансов он удаляется автоматически.

text
"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Trade" /N"Администратор" /UC КодРазрешения

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

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

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

После любых действий проверьте результат: пользователь должен успешно войти или выполнить операцию, а в журнале регистрации не должно появляться новых ошибок блокировок.

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

Профилактика повторных блокировок

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

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

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

Итог

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

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

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

Как войти в базу, если включена блокировка сеансов?

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

Что означает ошибка «Конфликт блокировок при выполнении транзакции»?

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

Можно ли снять блокировку, просто перезапустив сервер 1С?

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

Почему после обновления не работают регламентные задания?

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

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

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

Опасно ли удалять сеанс через консоль кластера?

Для зависшего сеанса — безопасно: сервер откатит незавершённую транзакцию, и база останется в согласованном состоянии. Опасно удалять сеанс, в котором пользователь реально работает: его несохранённые данные будут потеряны. Всегда подтверждайте неактивность сеанса перед удалением.