Прервать зависшее тестирование базы или обработку в 1С без потери данных
Содержание
Первая реакция при зависании — убить процесс 1cv8.exe через диспетчер задач. Это самый быстрый способ и самый рискованный: если идёт тестирование и исправление базы, жёсткий обрыв может оставить таблицы в неконсистентном состоянии. Сначала определите, что именно у вас «работает», и только потом выбирайте метод.
Остановить тестирование 1С можно четырьмя путями: штатно прервать операцию в окне программы, закрыть сеанс из Конфигуратора, отключить сеанс в консоли администрирования кластера или снять процесс в диспетчере задач. Порядок — от мягкого к жёсткому. Ниже — что выбрать в каждой ситуации и как не потерять базу.
Сначала определите: что именно «тестируется»
Слово «тестирование» в 1С означает две разные вещи, и останавливаются они по-разному.
| Что идёт | Где запущено | Чем опасно прерывание |
|---|---|---|
| Тестирование и исправление информационной базы | Конфигуратор, монопольный режим | Высокое: идёт работа со структурой таблиц |
| Проверка конфигурации (логическая и синтаксическая) | Конфигуратор | Низкое: база не меняется |
| Долгая обработка, закрытие месяца, групповое проведение | Предприятие | Среднее: транзакция откатится сама |
| Фоновое или регламентное задание | Сервер или клиент | Низкое: задание можно отменить |
Если в заголовке окна написано «Конфигуратор» и идёт полоса прогресса «Тестирование и исправление» — это первая строка таблицы. Её обрывать нужно особенно осторожно.
Перед любым вмешательством посмотрите, есть ли признаки жизни. Диспетчер задач покажет, растёт ли нагрузка на диск и процессор у 1cv8.exe. Если диск читается и процесс потребляет ресурсы — тестирование не зависло, оно просто долгое. Для базы на 50 ГБ полное тестирование спокойно идёт несколько часов, а на медленном диске — больше суток.
Не прерывайте тестирование с исправлением, пока не сделали копию базы
. Выгрузка .dt или копия файла 1Cv8.1CD занимает минуты, а восстановление после обрыва — дни.
Как остановить тестирование из окна 1С
Начните с мягкого способа: он безопаснее всего.
В режиме Предприятия
Долгая обработка или групповая операция в обычном клиенте останавливается так:
- Нажмите
Ctrl+Breakв окне 1С. Платформа покажет запрос на прерывание текущей операции. - Подтвердите прерывание.
- Дождитесь возврата к рабочему окну. Это может занять от нескольких секунд до минуты.
В тонком клиенте и веб-клиенте этой комбинации нет. Если форма показывает индикатор долгой операции, закройте вкладку или окно: сервер доведёт операцию до безопасной точки или откатит транзакцию.
Для фоновых заданий в типовых конфигурациях с БСП есть отдельная форма: раздел «Администрирование», пункт про обслуживание, внутри — список регламентных и фоновых заданий. Выделите нужное задание и отмените его. Точное название пункта зависит от конфигурации и релиза: найдите форму через поиск по меню по слову «фоновые».
Закрытие окна не отменяет операцию на сервере мгновенно. Если сеанс «висит» в консоли кластера после закрытия клиента — переходите к разделу про консоль администрирования.
В Конфигураторе
Окно тестирования имеет кнопку отмены на индикаторе. Нажмите её и подождите. Платформа завершает текущий шаг и останавливается. Если окно не отвечает больше 10–15 минут и диск молчит, переходите к жёстким методам.
Две важные детали:
- Проверка конфигурации (меню «Конфигурация» → «Проверка конфигурации») останавливается свободно, она ничего не пишет в базу.
- Тестирование без галочки «Исправлять» не меняет данные, поэтому его обрыв тоже безопасен.
Закрыть сеанс через Конфигуратор
Если в базе остался чужой или «мёртвый» сеанс и он мешает перейти в монопольный режим, посмотрите список активных пользователей. В Конфигураторе это пункт меню «Администрирование» → «Активные пользователи». Там видно имя, компьютер, приложение и время начала сеанса.
Для файловой базы список показывает всех, кто открыл её на этой машине и по сети. Завершить чужой сеанс отсюда нельзя: это решается на стороне пользователя или процессом.
Когда сеансов нет, а монопольный режим не включается, причина обычно в файле блокировки 1Cv8.cdn или 1Cv8.lck в каталоге базы. Они остаются после аварийного завершения. Удалять их можно, только когда точно никто не работает
с базой, и лучше — после закрытия всех экземпляров 1cv8.exe.
Мини-кейс: тестирование «висит» третий час
Бухгалтерия, файловая база около 18 ГБ, тестирование с исправлением запущено вечером. Утром индикатор стоит на одном месте. Что делать:
- Откройте диспетчер задач и посмотрите
1cv8.exe. Если в колонке «Диск» держится нагрузка в несколько МБ/с, операция жива. - Подождите ещё час и сравните цифры: растёт ли объём памяти процесса, меняется ли размер служебных файлов рядом с базой.
- Если всё замерло, скопируйте каталог базы целиком на другой диск. Копия — страховка на случай, если обрыв повредит основной файл.
- Только после этого снимайте процесс.
В нашем примере тестирование шло почти шесть часов и закончилось само: база была забита старыми регистрами, а диск — обычный HDD. Если бы процесс убили «по ощущениям» в три часа ночи, пришлось бы начинать заново.
Запуск тестирования из командной строки
Для регулярных проверок удобно запускать тестирование без интерфейса и писать результат в файл. Тогда остановить его проще: у вас есть имя процесса и лог.
"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /IBCheckAndRepair /Out "D:\Logs\check.log"
Версия платформы и пути у каждого свои, подставьте свои. Точный набор параметров проверьте в справке к вашему релизу платформы: он немного меняется от версии к версии. Лог пригодится, чтобы понять, на каком объекте остановилась проверка.
Принудительно завершить через консоль администрирования
Это основной метод для клиент-серверной базы. Консоль кластера работает с сеансами и соединениями на уровне сервера, а не клиента.
Через оснастку
Откройте «Администрирование серверов 1С:Предприятия» и найдите кластер:
- Раскройте узел кластера → «Информационные базы» → ваша база.
- Зайдите в ветку «Сеансы».
- Найдите сеанс по пользователю или по приложению (
Designerдля Конфигуратора,1CV8Cдля толстого клиента,1CV8для тонкого). - Правой кнопкой → «Завершить сеанс» (или «Удалить»).
- Если сеанс держится, зайдите в «Соединения» и отключите соответствующее соединение.
Сеанс может висеть минуту-две: сервер ждёт безопасного завершения. Если запрос к СУБД идёт долго, сеанс не закроется, пока СУБД не ответит.
Из командной строки
Для скриптов подойдёт утилита rac из каталога сервера 1С:
rac session --cluster=<id_кластера> list --infobase=<id_базы>
rac session --cluster=<id_кластера> terminate --session=<id_сеанса>
Идентификаторы — длинные UUID. Первую команду выполните, чтобы найти нужный сеанс, вторую — чтобы завершить его.
Если не закрывается
Процесс rphost, обслуживающий сеанс, мог зависнуть. В консоли кластера на ветке «Рабочие процессы» видно, какой процесс держит нагрузку. Перезапуск службы агента сервера 1С остановит все сеансы, поэтому делайте это ночью или в окно обслуживания.
Перезапуск службы выкинет всех пользователей. Предупредите людей заранее и подождите, пока сохранят документы.
Аварийная остановка через диспетчер задач
Крайняя мера, когда окно не отвечает, диск молчит, а консоль не помогает.
- Откройте диспетчер задач (
Ctrl+Shift+Esc). - На вкладке «Подробности» найдите
1cv8.exe(Конфигуратор, толстый клиент) или1cv8c.exe(тонкий клиент). - Если процессов несколько, определите нужный: у Конфигуратора окно с заголовком базы и словом «Конфигуратор».
- Правая кнопка → «Снять задачу».
Из командной строки то же самое:
taskkill /PID 1234 /F
Подставьте номер процесса вместо 1234. Команда taskkill /IM 1cv8.exe /F убьёт все процессы с таким именем, включая чужие сеансы на терминальном сервере.
На терминальном сервере (RDP) легко снять сеанс соседа. Сверяйте имя пользователя в колонке диспетчера задач, а не только имя процесса.
После жёсткого завершения:
- Откройте Конфигуратор и запустите «Проверку конфигурации».
- Если останавливали тестирование с исправлением, запустите повторное тестирование без исправления: оно покажет, в каком состоянии таблицы.
- Если появились ошибки на уровне СУБД, восстанавливайте базу из последней копии.
Что проверить после обрыва
Короткий порядок действий после любой жёсткой остановки:
- Запустите Конфигуратор и подождите, пока база откроется. Если она не открывается или выдаёт ошибку структуры, сразу переходите к восстановлению из копии.
- Выполните тестирование без исправления. Оно покажет, остались ли ошибки.
- Откройте несколько последних документов и проведите один тестовый документ. Если проведение проходит и проводки формируются, база, скорее всего, в порядке.
- Запустите «Проверку конфигурации», если работаете с доработанной конфигурацией.
- Только потом пускайте пользователей.
Если база клиент-серверная, добавьте проверку на стороне СУБД: ошибок в журнале сервера баз данных быть не должно, а свободного места должно хватать.
Остановка тестирования в файловой базе
Файловая база устроена иначе: нет сервера, нет консоли кластера, а единственный участник — процесс на вашем компьютере (или на терминальном сервере).
Что это меняет:
- Останавливать нужно сам процесс
1cv8.exe. Консоль кластера не подходит. - В базе остаются файлы блокировки. После обрыва проверьте каталог базы: если там лежит
1Cv8.cdnи никто не работает, удалите его вручную. - Файл
1Cv8.1CD— единый, и обрыв записи в него может его повредить. Копируйте его до любых действий. - Если базу открывали по сети с разных машин, снимите процессы на каждой, иначе блокировка останется.
Копию файловой базы делайте простым копированием файла 1Cv8.1CD при закрытых сеансах. Это надёжнее выгрузки, если база не открывается.
Для файловых баз с большим объёмом тестирование идёт долго из-за диска. Если база лежит на сетевой папке, запуск тестирования локально (с копией на SSD) может сократить время в разы.
Как остановить зависание заранее
Зависания тестирования редко случаются «просто так». Типичные причины и меры:
- ⚡ Нехватка места. Для тестирования с исправлением нужно свободное место примерно в размер базы. Проверьте диск до запуска.
- ⏱ Параллельная работа. Тестирование идёт монопольно. Если кто-то заходит в базу, оно не стартует или висит. Закройте сеансы заранее.
- 🛡 Антивирус. Он сканирует
1Cv8.1CDпри каждом обращении и тормозит операцию в разы. Добавьте каталог базы в исключения. - 💾 Слабый диск. HDD при больших объёмах — вечное ожидание. SSD ускоряет тестирование заметно.
- 🌐 Работа по сети. Тестируйте на сервере локально, не через сетевой диск.
Если тестирование всё равно зависает, запишите: на каком шаге остановилось и сколько прошло времени. Это сэкономит часы тому, кто будет разбираться дальше.
Какой способ выбрать: быстрая схема
Ctrl+Break или отмените фоновое задание. Это безопасно.Частые вопросы
Сколько ждать, прежде чем считать тестирование зависшим?
Можно ли снять `1cv8.exe`, если тестирование шло без исправления?
Безопасно ли удалять файл `1Cv8.cdn`?
1cv8.exe закрыты. Платформа создаст его заново.Как узнать, какой процесс принадлежит Конфигуратору?
DESIGNER.Что делать, если после обрыва база не открывается?
Почему сеанс в консоли кластера не удаляется?
rphost.