1С не отвечает: как закрыть программу и не повредить базу
Содержание
Если 1С зависла, сначала нажмите Ctrl+Break: платформа предложит прервать выполняемую операцию, и программа часто «оживает» без потери сеанса. Не помогло за 1–2 минуты — закройте процесс 1cv8c.exe (тонкий клиент) или 1cv8.exe (толстый клиент и Конфигуратор) в Диспетчере задач. Несохранённый документ пропадёт, а записанные данные останутся на месте.
После аварийного выхода в базе может остаться «висящий» сеанс. Он мешает войти снова, занимает лицензию и блокирует обновление. Его завершают через список активных пользователей, а в клиент-серверном варианте — через консоль кластера. Всё ниже относится к платформе 1С:Предприятие 8.3 и не зависит от конфигурации: БП, ЗУП, УТ ведут себя одинаково.
Зависла или просто долго считает: как отличить
Многие «зависания» на деле — долгие операции: закрытие месяца , перепроведение за год, тяжёлый отчёт без отбора. Если убить процесс посреди такой операции, придётся запускать её заново, а время уже потрачено.
Откройте Диспетчер задач (Ctrl+Shift+Esc), вкладку «Подробности», и найдите процесс 1С. Смотрите на три показателя:
| Что видите | Что это значит | Что делать |
|---|---|---|
| ЦП 10–25% и выше, память меняется | Программа работает | Подождите 5–15 минут |
| ЦП около 0%, память стоит, окно «Не отвечает» | Процесс ждёт: блокировку, сеть, сервер | Проверьте сеть и других пользователей, потом прерывайте |
| Память растёт без остановки, до нескольких ГБ | Отчёт выбирает слишком много данных | Прерывайте сразу, иначе зависнет весь компьютер |
| Окно 1С белое, но ЦП 0% и в базе работают коллеги | Клиент потерял связь с сервером или файлом базы | Закрывайте процесс |
Ещё признаки, что 1С занята делом, а не зависла:
- ⏳ в форме крутится индикатор длительной операции или виден процент выполнения;
- 🔄 в строке состояния меняется сообщение;
- 💾 в «Мониторе ресурсов» Windows процесс читает или пишет файл базы.
На сервере 1С вычисления идут не в клиенте, а в процессе rphost.exe на сервере. Поэтому у клиента может быть 0% ЦП, а операция при этом честно выполняется. Спросите администратора, загружен ли рабочий процесс.
Прерывание без закрытия: Ctrl+Break и Alt+F4
Это самый мягкий способ выйти из зависшей операции. Сеанс остаётся, база не страдает.
- Щёлкните по окну 1С, чтобы оно было активным.
- Нажмите
Ctrl+Break. На ноутбуке без клавиши Break ищите сочетаниеCtrl+Fn+BилиCtrl+Fn+Pause: оно зависит от производителя. - В вопросе о прерывании выполнения ответьте «Да».
- Подождите до минуты: транзакция откатывается, это не мгновенно.
Ctrl+Break прерывает выполнение кода на встроенном языке: цикл в обработке, формирование отчёта, групповое перепроведение. Он не поможет, если клиент ждёт ответа от сервера по сети или упал сам интерфейс.
Если прерывание прошло, закройте программу обычным способом: Alt+F4 или крестик окна. 1С спросит про несохранённые формы — так данные можно ещё сохранить.
Документ, который вы правили до зависания, после прерывания обычно ещё открыт. Сначала нажмите «Записать», и только потом выходите.
Закрыть зависшую 1С через Диспетчер задач
Если окно не реагирует на клавиши 3–5 минут, а ЦП стоит на нуле, остаётся принудительное закрытие.
Какой процесс снимать
| Процесс | Что это |
|---|---|
1cv8c.exe | Тонкий клиент — обычный режим работы в БП 3.0, ЗУП 3.1, УТ 11 |
1cv8.exe | Толстый клиент или Конфигуратор |
1cestart.exe | Окно выбора баз; к зависанию базы обычно не относится |
Порядок действий
- Откройте Диспетчер задач:
Ctrl+Shift+Esc. - На вкладке «Процессы» найдите «1С:Предприятие» со статусом «Не отвечает».
- Если открыто несколько окон 1С, перейдите на «Подробности» и сверьте столбец «Имя пользователя».
- Выделите процесс и нажмите «Снять задачу».
- Подождите 30–60 секунд, прежде чем запускать базу снова.
Если «Снять задачу» не срабатывает, закройте процесс из командной строки. Узнайте его номер в столбце «ИД процесса» и выполните:
tasklist /FI "IMAGENAME eq 1cv8c.exe"
taskkill /PID 4812 /F
Число 4812 замените своим ИД. Команду taskkill /IM 1cv8c.exe /F без номера используйте только на своём компьютере.
На терминальном сервере taskkill /IM 1cv8c.exe /F от имени администратора закроет 1С у всех сотрудников сразу. Они потеряют несохранённые документы. Снимайте процесс только по своему ИД или своему пользователю.
Не снимайте процесс, если в это время идёт обновление конфигурации или «Тестирование и исправление». Про этот случай — отдельный раздел ниже.
Висящий сеанс после аварийного выхода: завершаем из 1С
После принудительного закрытия сервер не сразу понимает, что клиента больше нет. Сеанс висит, держит лицензию и может держать блокировки записей. Вы открываете документ — а 1С пишет, что он заблокирован другим пользователем. Этот пользователь — вы сами в прошлом сеансе.
В типовых конфигурациях на БСП висящий сеанс можно закрыть без консоли:
- Откройте
Администрирование → Обслуживание. - Перейдите по ссылке «Активные пользователи».
- Найдите сеанс со своим именем и временем начала до зависания. Ваш текущий сеанс начат только что — сверьте время, чтобы не закрыть его.
- Выделите старый сеанс и выполните команду завершения сеанса в командной панели списка.
Для этого нужны права администратора. Если в клиент-серверной базе 1С попросит параметры администрирования кластера — введите логин и пароль администратора кластера или передайте задачу тому, у кого они есть.
В файловой базе отдельного сеанса на сервере нет. После закрытия процесса блокировка снимается, когда Windows освобождает файл базы. Обычно это секунды, при работе по сети — до пары минут.
Консоль администрирования кластера: если сеанс не уходит
Для клиент-серверной базы самый надёжный способ — консоль администрирования серверов 1С. Она устанавливается вместе с платформой как компонент «Администрирование сервера 1С:Предприятия».
Завершение сеанса в консоли
- Запустите консоль и подключитесь к центральному серверу: имя компьютера, порт агента
1540. - Раскройте
Кластеры → <ваш кластер> → Информационные базы → <база> → Сеансы. - Найдите сеанс по пользователю, компьютеру и времени начала.
- Щёлкните правой кнопкой и выберите «Удалить».
Если консоль не открывается или «Сервер 1С:Предприятия» не виден в списке оснасток, перерегистрируйте библиотеку radmin.dll той же разрядности, что и консоль, из папки bin установленной платформы:
regsvr32 "C:\Program Files\1cv8\8.3.24.1586\bin\radmin.dll"
Номер платформы в пути подставьте свой. Командную строку запускайте от имени администратора.
То же через rac
Если на сервере запущен ras, сеансы можно закрыть утилитой rac из той же папки bin:
rac cluster list
rac session list --cluster=<id_кластера>
rac session terminate --cluster=<id_кластера> --session=<id_сеанса>
Если на кластере задан администратор, добавьте параметры с его логином и паролем; точные ключи покажет rac help session.
Удаление сеанса обрывает работу этого пользователя без сохранения. Сверьте имя и компьютер, прежде чем удалять, и не трогайте сеансы фоновых заданий и обновления.
Если завис рабочий процесс целиком
Когда тормозит не один пользователь, а вся база, в консоли видно, что процесс rphost занял почти всю память или ЦП. Его можно выключить в разделе «Рабочие процессы». Это оборвёт все сеансы на нём, поэтому делайте это после предупреждения коллег, лучше в обед или после работы. Перезапуск службы «Агент сервера 1С:Предприятия» — крайняя мера с тем же эффектом для всех баз сервера.
Зависание в монопольном режиме и при обновлении
Монопольный режим нужен для обновления структуры базы, загрузки .dt, тестирования и исправления. Зависание здесь — самый опасный случай.
Если идёт обновление или реструктуризация
Окно Конфигуратора может не отвечать 30–60 минут и дольше: идёт реструктуризация таблиц. Пока процесс 1cv8.exe потребляет ЦП или пишет на диск, не закрывайте его — оборванная реструктуризация в файловой базе может её повредить.
Если за 30 минут нет ни нагрузки на ЦП, ни обращений к диску, процесс действительно встал. Тогда:
- Сделайте копию папки файловой базы целиком, если копии свежее вчерашней нет.
- Закройте
1cv8.exe. - Запустите от имени администратора
chdbfl.exeиз папкиbinплатформы и проверьте файл1Cv8.1CD. - Повторите обновление.
В клиент-серверной базе СУБД откатит незавершённую транзакцию сама, но восстановление из резервной копии всё равно держите наготове.
Если после зависания база не пускает
Частая история: администратор установил блокировку работы пользователей перед обновлением, его сеанс завис, а теперь войти не может никто. В конфигурациях на БСП блокировку снимают одним из способов:
- войти с параметром запуска
/UC<код разрешения>, где код — тот, что указан в настройке блокировки; - запустить базу
с параметром
/C"РазрешитьРаботуПользователей"; - открыть
Администрирование → Обслуживание → Блокировка работы пользователейи снять флажок.
В файловой базе ещё бывает, что в папке остался файл 1Cv8.1CL, хотя 1С ни у кого не запущена. Убедитесь, что процессов 1С нет ни на одном компьютере, работающем с базой, и только тогда удалите его. Пока база открыта хоть у кого-то, файл удалять нельзя.
Подсказка: что делать по симптому
Как настроить 1С, чтобы она реже зависала
Профилактика экономит больше времени, чем любой способ выхода. Что делать на рабочем месте:
- 🧹 раз в несколько месяцев и после обновления платформы очищать кэш: параметр
/ClearCacheв свойствах базы или удаление папки с идентификатором базы в%APPDATA%\1C\1cv8; - 🛡️ добавить папку файловой базы и кэш 1С в исключения антивируса — проверка каждого обращения к
1Cv8.1CDдаёт подвисания на ровном месте; - 💻 ставить 64-разрядный клиент, если в компьютере больше 4 ГБ памяти: 32-разрядный упирается в лимит памяти на тяжёлых отчётах;
- 📅 формировать отчёты за нужный период и с отборами, а не «за всё время по всем».
Что настроить администратору сервера:
| Где | Параметр | Зачем |
|---|---|---|
| Свойства кластера | «Интервал перезапуска» | Плановый перезапуск рабочих процессов, пока память не «распухла» |
| Свойства кластера | «Допустимый объём памяти» | Процесс, превысивший порог, перезапускается сам |
| Свойства информационной базы | «Время засыпания пассивного сеанса», «Время завершения спящего сеанса» | Висящие сеансы после обрыва связи закрываются автоматически |
Для файловой базы раз в месяц полезно запускать «Тестирование и исправление» в Конфигураторе (Администрирование → Тестирование и исправление) — после серии аварийных закрытий оно находит и чинит ошибки до того, как они превратятся в зависания. Перед запуском сделайте резервную копию.
Если в файловой базе одновременно работает много людей и она регулярно встаёт, это повод переходить на клиент-серверный вариант. Файловый режим держит блокировки на уровне таблиц, и один тяжёлый отчёт тормозит всех.