Ситуация, когда в процессе удаления помеченных объектов 1С внезапно прекращает работу, а при попытке повторного входа выдает сообщение о блокировке, является классической для платформы «1С:Предприятие». Разберем подробно, почему это происходит и как восстановить работоспособность системы в зависимости от типа вашей базы данных.
Когда мы запускаем стандартную обработку Удаление помеченных объектов, система зачастую пытается установить монопольный доступ к базе данных. Это необходимо для того, чтобы гарантировать ссылочную целостность: пока один объект удаляется, никакой другой пользователь не должен создать на него новую ссылку. Если процесс удаления прерывается аварийно (из-за сетевого сбоя, нехватки оперативной памяти или ошибки SQL-сервера), установленный флаг «монопольности» или «блокировки соединений» остается активным в параметрах информационной базы. Рассмотрим, как снять эти ограничения.
В файловом варианте работы 1С за блокировку сеансов отвечает специальный технический файл. Проанализируем последовательность действий для восстановления доступа:
1cv8.exe через диспетчер задач на компьютере, где выполнялось удаление.1Cv8.cdn). Именно этот файл блокирует вход новых пользователей.1Cv8.cdn. Обратите внимание, что удалять файл 1Cv8.1CD (саму базу) категорически нельзя!В серверном варианте информация о блокировке хранится не в файле, а в настройках кластера серверов 1С. Рассмотрим, как снять блокировку через консоль администрирования:
Иногда настройки в консоли могут «слететь» или отображаться некорректно. В таком случае полезно проверить поле Параметры блокировки — если там остались технические данные от прерванного процесса, их следует очистить.
Если у вас нет доступа к консоли сервера или база заблокирована программно так, что обычный вход невозможен, воспользуемся параметром командной строки /UC. Этот параметр позволяет игнорировать блокировку соединений, если известен код разрешения.
Посмотрим на пример настройки такого запуска:
/UC КодДоступа
После успешного входа в базу под этим параметром, мы сможем зайти в меню Обслуживание — Блокировка работы пользователей и нажать кнопку Снять блокировку.
Проанализируем ситуацию глубже: почему удаление вообще «зависает»? При использовании старых механизмов удаления платформа пытается выполнить операцию в рамках одной транзакции. Если удаляется 100 000 объектов, SQL-сервер записывает каждое действие в лог транзакций (файл .ldf).
Рассмотрим риски: если диск с логами переполнится, SQL-сервер принудительно остановит транзакцию и начнет процесс отката (Rollback). В этот момент 1С может выглядеть «зависшей», хотя на самом деле сервер БД занят отменой изменений. В такой ситуации крайне не рекомендуется принудительно перезагружать сервер SQL, так как это может привести к повреждению структуры данных.
Чтобы подобные блокировки не повторялись, разберем более современные и безопасные методы очистки базы:
1. Фоновое удаление объектов. В актуальных версиях платформы (начиная с 8.3.15) встроенное удаление умеет работать в фоновом режиме. Оно не блокирует всю базу, а удаляет объекты небольшими порциями (порционное удаление). Проверьте настройки в разделе Администрирование — Обслуживание — Удаление помеченных объектов и убедитесь, что выбран режим «Автоматическое удаление» или «В фоне».
2. Использование внешних инструментов. Опытные программисты часто используют внешние обработки, такие как:
Инструментарий разработчика (ИР);Универсальные подбор и обработка объектов;УдалениеПомеченныхОбъектовНовый.epf.Эти инструменты позволяют удалять объекты напрямую через метод Удалить() или УстановитьПометкуУдаления() с явной фиксацией транзакций через каждые N объектов, что исключает раздувание лога SQL и длительные блокировки всей системы.
Если после всех манипуляций в консоли и удаления файлов .cdn база все равно сообщает о блокировке, проанализируем состояние кэша сервера приложений. Порядок действий следующий:
srvinfo (путь по умолчанию: C:\Program Files\1cv8\srvinfo).snccntx — именно там хранятся данные о текущих сеансах и их состояниях.Важно: Данную процедуру следует выполнять только в крайнем случае и при полной уверенности, что все пользователи вышли из всех баз данного кластера.