Зависшая 1С не закрывается: снимаем процесс, сеанс и блокировку базы
Содержание
Если 1С зависла и не реагирует на клики, сначала нажмите Ctrl+Break — так платформа пробует прервать долгую операцию. Не помогло за минуту-две — закройте процесс 1cv8c.exe (тонкий клиент) или 1cv8.exe (толстый клиент и Конфигуратор) через Диспетчер задач. После этого проверьте, не остался ли сеанс на сервере или блокировка файловой базы, иначе следующий вход упрётся в ту же проблему.
Типичная картина: бухгалтер запустил оборотно-сальдовую ведомость за три года, окно побелело, в заголовке «Не отвечает», а через полчаса закрытие месяца . Выйти из 1С можно почти всегда без потери данных. Нужно лишь действовать по порядку: от мягкого способа к жёсткому.
Сначала диагностика: 1С зависла или просто долго считает
Окно с пометкой «Не отвечает» ещё не значит, что программа умерла. Часто 1С честно выполняет тяжёлый запрос и не перерисовывает интерфейс. Прежде чем что-то убивать, потратьте две минуты на проверку.
Откройте Диспетчер задач (Ctrl+Shift+Esc), вкладка «Подробности», и найдите процесс 1С:
- 🟢 Загрузка ЦП меняется, память растёт или колеблется — программа работает. Подождите, особенно если запущен отчёт за большой период, закрытие месяца или обновление.
- 🟡 ЦП около нуля, память не меняется несколько минут — клиент чего-то ждёт: ответа сервера, освобождения блокировки, сетевого диска.
- 🔴 Один процесс 1С держит ядро процессора на 100% десятки минут — вероятен бесконечный цикл или «тяжёлый» запрос, который уже не стоит ждать.
Ещё один быстрый тест — спросите коллег. Если зависли все пользователи сразу, проблема не в вашем компьютере, а на сервере 1С, СУБД или в сети. Тогда закрывать клиент бесполезно: после перезапуска вы снова повиснете.
Мягкие способы, которые стоит попробовать первыми
- Нажмите
Ctrl+Break. Платформа прервёт выполнение кода на клиенте. Если в этот момент идёт вызов сервера, прерывание сработает, когда управление вернётся клиенту. - Нажмите
Esc— иногда «зависание» оказывается модальным окном, которое ушло за основное. - Посмотрите на панель задач: нет ли второго окна 1С с вопросом «Сохранить изменения?». Такое окно блокирует главное, и кажется, что программа не реагирует.
- Нажмите
Alt+F4на окне 1С. Если программа отвечает хотя бы частично, она закроется штатно.
Если зависание случилось при записи документа, подождите чуть дольше. Запись — это транзакция: обрыв на середине отменит её целиком, и документ придётся вводить заново.
Как закрыть зависшую 1С через Диспетчер задач
Когда мягкие способы не сработали, процесс снимают принудительно. Данные уже записанных и проведённых документов не пострадают. Пропадёт только то, что было открыто и не сохранено.
Какой процесс искать
| Процесс | Что это | Когда встречается |
|---|---|---|
1cv8c.exe | тонкий клиент | обычная работа пользователей в БП 3.0, ЗУП 3.1, УТ 11 |
1cv8.exe | толстый клиент и Конфигуратор | режим Конфигуратора, старые конфигурации на толстом клиенте |
1cestart.exe | окно запуска со списком баз | висит, если зависло само окно выбора базы |
Пошагово
- Нажмите
Ctrl+Shift+Esc, откройте вкладку «Подробности». - Отсортируйте по столбцу «Имя» и найдите
1cv8c.exeили1cv8.exe. - Если процессов несколько (открыто несколько баз), ориентируйтесь на загрузку ЦП и объём памяти: висящий обычно выделяется. Можно сначала переключиться на вкладку «Процессы», раскрыть группу 1С и увидеть заголовки окон с именем базы.
- Правый клик по процессу → «Снять задачу».
- Подождите 10–20 секунд, пока процесс исчезнет из списка, и только потом запускайте 1С снова.
То же самое из командной строки
Удобно, если Диспетчер задач сам подтормаживает, или когда нужно закрыть 1С на удалённом сервере терминалов. Откройте командную строку и выполните:
:: закрыть все тонкие клиенты текущего пользователя
taskkill /IM 1cv8c.exe /F
:: закрыть толстый клиент и Конфигуратор
taskkill /IM 1cv8.exe /F
:: посмотреть, какие процессы 1С запущены и под какими пользователями
tasklist /V /FI "IMAGENAME eq 1cv8c.exe"
На сервере терминалов под администратором taskkill /IM закроет 1С у всех пользователей. Чтобы снять процесс одного человека, найдите его PID в выводе tasklist /V и выполните taskkill /PID <номер> /F.
Сеанс остался на сервере: завершаем через консоль администрирования
В клиент-серверной базе закрытие окна на компьютере не всегда убивает сеанс на сервере. Рабочий процесс может продолжать выполнять запрос, держать блокировки и занимать лицензию. Признаки: после перезапуска вы снова ждёте на том же документе, или 1С сообщает, что лицензий не хватает.
Через консоль кластера
- Запустите «Администрирование серверов 1С Предприятия» на сервере или на машине администратора.
- Раскройте
Центральные серверы 1С:Предприятия → <имя сервера> → Кластеры → <кластер> → Информационные базы → <ваша база> → Сеансы. - Найдите свой сеанс по столбцам «Пользователь» и «Компьютер». Полезно включить колонку с длительностью текущего вызова или временем последней активности.
- Правый клик → «Удалить». Сеанс завершится, его транзакция откатится, блокировки освободятся.
Если консоль не открывается или выдаёт ошибку регистрации, на компьютере администратора нужно перерегистрировать radmin.dll той же версии платформы, что и сервер:
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"
Вместо 8.3.xx.xxxx подставьте номер установленной версии. Командную строку запускайте от имени администратора.
Через утилиту rac
На Linux-сервере или в скриптах удобнее консольная утилита rac (нужна запущенная служба ras):
rac cluster list
rac session list --cluster=<uuid-кластера>
rac session terminate --cluster=<uuid-кластера> --session=<uuid-сеанса>
Точный набор параметров для вашей версии покажет rac help session.
Из самой конфигурации
В типовых конфигурациях на БСП администратор может завершить чужой сеанс без консоли. В разделе Администрирование откройте Обслуживание и найдите список «Активные пользователи». В клиент-серверном варианте там доступна команда завершения сеанса выбранного пользователя.
Когда виснет весь сервер
Если завис рабочий процесс rphost.exe целиком, его можно снять в Диспетчере задач на сервере, а в крайнем случае перезапустить службу «Агент сервера 1С:Предприятия 8.3» через services.msc.
Снятие rphost или перезапуск службы агента обрывает сеансы всех пользователей, работающих через этот процесс или сервер. Незаписанные документы пропадут у всех. Предупредите коллег и делайте это в обед или вне рабочего времени, если ситуация терпит.
Блокировка файловой базы после аварийного выхода
В файловом варианте база — это один файл 1Cv8.1CD в папке. Каждый запущенный клиент держит его открытым. Если 1С закрыли принудительно, иногда файл остаётся занятым, и при входе появляется ошибка вида Ошибка совместного доступа к файлу '1Cv8.1CD'.
Что проверить по порядку
- Процессы 1С на всех компьютерах, которые работают с этой базой. Часто «призрак» висит не у вас, а у коллеги, который ушёл домой с открытой программой. Снимите его так же, как в разделе про Диспетчер задач.
- Открытые файлы на файловом сервере. Если база лежит в общей папке, на сервере откройте
compmgmt.msc→ «Общие папки» → «Открытые файлы». Найдите1Cv8.1CDи закройте его. Это обрывает доступ к базе у того, кто его держал. - Файл блокировки
1Cv8.cflв папке базы. Если ни один процесс 1С базу не держит, а вход всё равно запрещён, этот файл можно удалить: платформа создаст новый при следующем запуске. - Временные файлы. Рядом с базой иногда остаётся
1Cv8tmp.1CDот прерванной операции. Удалять его можно только при полностью закрытой базе.
Перед удалением любых файлов в папке базы убедитесь, что в ней никто не работает, и скопируйте папку целиком. Удалённый 1Cv8.1CD равен удалённой базе — путать файлы нельзя.
Если зависает сам запуск: чистим кэш
Бывает, что после аварийного выхода 1С виснет уже на старте, на заставке. Частая причина — повреждённый локальный кэш конфигурации.
- Быстрый способ: в окне запуска выделите базу → «Изменить» → на последнем шаге в поле дополнительных параметров запуска впишите
/ClearCache. Запустите базу, потом параметр уберите. - Ручной способ: закройте все окна 1С и удалите папки с длинными именами-идентификаторами внутри
%APPDATA%\1C\1cv8и%LOCALAPPDATA%\1C\1cv8. Сам список баз (ibases.v8i) не трогайте.
Восстановление файловой базы утилитой chdbfl
Жёсткое закрытие в момент записи может повредить внутреннюю структуру файла 1Cv8.1CD. Симптомы: база открывается, но падает на определённых документах или отчётах, появляются ошибки формата потока. Для проверки физической целостности файловой базы у платформы есть утилита chdbfl.exe.
Как запустить проверку
- Выгоните всех пользователей из базы и закройте 1С на всех компьютерах.
- Скопируйте папку базы целиком в другое место. Утилита исправляет файл на месте, и откатить её действия можно только из копии.
- Откройте папку платформы, например
C:\Program Files\1cv8\8.3.xx.xxxx\bin, и запуститеchdbfl.exe. - В поле имени файла укажите путь к
1Cv8.1CD. - Поставьте флажок «Исправлять обнаруженные ошибки» и нажмите «Выполнить».
- Дождитесь окончания. На базе в 5–10 ГБ проверка может идти десятки минут, окно в это время выглядит неподвижным — это нормально.
После chdbfl запустите Конфигуратор и выполните логическую проверку: Администрирование → Тестирование и исправление. Она требует монопольного доступа и проверяет уже данные, а не файл: ссылки, итоги регистров, структуру таблиц.
| Инструмент | Что проверяет | Для какой базы | Когда применять |
|---|---|---|---|
chdbfl.exe | физическую структуру файла 1Cv8.1CD | только файловая | после аварийного закрытия, отключения питания, ошибок чтения |
| Тестирование и исправление | логическую целостность данных | файловая и клиент-серверная | после chdbfl, при «битых» ссылках и итогах |
| Средства СУБД | целостность базы SQL | клиент-серверная | делает администратор СУБД |
Для клиент-серверной базы chdbfl не применяется: целостность там обеспечивает СУБД, а принудительное закрытие клиента не портит файлы данных.
Как не попадать в зависания снова
Разовое зависание — повод закрыть процесс. Регулярное — повод искать причину. Вот что реально снижает их число.
На рабочем месте пользователя
- 📏 Не формируйте отчёты за годы без отбора. Оборотно-сальдовая ведомость по счёту 60 за три года с детализацией по документам — гарантированное «Не отвечает» на слабом компьютере. Сузьте период или поставьте отбор по контрагенту.
- 🧠 Следите за памятью. Тонкому клиенту с несколькими открытыми базами тесно на машине с 4 ГБ. 8 ГБ и больше — разумный минимум для бухгалтера.
- 🛡️ Добавьте исключения в антивирус для папки базы и для
%APPDATA%\1C,%LOCALAPPDATA%\1C. Проверка «на лету» каждого обращения к1Cv8.1CDдаёт заметные подвисания. - 🔄 Обновляйте платформу. Часть зависаний — известные ошибки конкретной сборки, исправленные в следующих.
На уровне базы и инфраструктуры
- 🌐 Не работайте с файловой базой по Wi-Fi и VPN. Обрыв связи посреди записи — самый частый путь к повреждению
1Cv8.1CD. Для удалённой работы используйте сервер терминалов, веб-клиент или переход на клиент-серверный вариант. - 👥 Следите за числом пользователей. Файловая база при 5–10 активных сотрудниках, одновременно проводящих документы, начинает ждать блокировок. Это сигнал переходить на клиент-серверный вариант.
- 💾 Держите базу на SSD. На HDD при объёме базы в десятки гигабайт отчёты и проведение заметно тормозят.
- 🧹 Сокращайте журнал регистрации. Многолетний журнал раздувает папку
1Cv8Log. Старые записи можно сократить в Конфигураторе черезАдминистрирование → Журнал регистрации, предварительно сохранив их в файл. - ⏰ Разносите регламентные задания. Загрузка курсов, обмены, полнотекстовый поиск, запущенные в часы пик, отнимают ресурсы у пользователей. Переносите тяжёлые задания на ночь.