1С перестала отвечать: от Ctrl+Break до консоли кластера
Содержание
Если 1С зависла посреди отчёта или проведения, сначала нажмите Ctrl+Break: платформа прервёт выполняемую операцию и спросит, остановить ли её. Не помогло за минуту-две — нажмите Alt+Tab и поищите спрятанное окно с вопросом, и только потом завершайте процесс через диспетчер задач.
Завершать работу «через крестик» в состоянии «Не отвечает» можно, но вслепую это делать не стоит. Ниже порядок действий, при котором вы теряете минимум: максимум один несохранённый документ, а не базу.
Первые 30 секунд: что нажать, когда 1С зависла
Окно с пометкой «Не отвечает» не всегда значит, что программа умерла. Часто 1С просто занята: строит тяжёлый отчёт, ждёт сервер или ждёт ответа в окне, которое вы не видите.
Порядок действий, от безопасного к жёсткому:
- Подождите 1–2 минуты. Закрытие месяца , пересчёт итогов, оборотно-сальдовая ведомость за год по всем субконто могут считаться долго. Ничего не нажимайте мышкой много раз подряд — клики накапливаются в очереди.
- Нажмите
Ctrl+Break. Это штатное прерывание: 1С остановит выполнение кода и запрос к базе, покажет сообщение о прерывании. Работает и в тонком, и в толстом клиенте. На ноутбуках без отдельной клавиши Break она вызывается черезFn— сочетание смотрите в инструкции к модели. - Нажмите
Alt+Tab. Модальное окно «Вопрос» или «Предупреждение» иногда открывается позади главного окна. Программа ждёт ответа и выглядит зависшей. Переключитесь на него и ответьте. - Нажмите
Esc. Закрывает активный диалог, если он перехватил фокус. - Откройте диспетчер задач (
Ctrl+Shift+Esc) и посмотрите на процесс 1С. Об этом — в следующем разделе.
Если Ctrl+Break сработал, 1С сообщит о прерывании операции. Данные при этом не страдают: прерванная транзакция откатывается целиком.
Как понять: 1С думает или зависла насовсем
Посмотрите в диспетчере задач на колонку «ЦП» у процесса 1С:
| Что видите | Что это значит | Что делать |
|---|---|---|
| Нагрузка ЦП скачет, растёт память | Клиент работает, считает | Ждать или Ctrl+Break |
| ЦП около 0, окно «Не отвечает» | Клиент ждёт сервер, сеть или блокировку | Проверить сеть и блокировки (разделы ниже) |
ЦП стабильно 100% одного ядра долго, Ctrl+Break не реагирует | Клиент завис в цикле | Завершать процесс |
| Память процесса растёт до предела | Утечка или огромная выборка | Завершать процесс, потом выяснять причину |
Как завершить зависший процесс 1С и что при этом теряется
Если ни одно сочетание клавиш не помогло, процесс придётся снять.
Какой процесс снимать
В диспетчере задач на вкладке «Подробности» ищите:
- 🖥️
1cv8c.exe— тонкий клиент; - 🖥️
1cv8.exe— толстый клиент и Конфигуратор; - 🌐 если вы работаете в веб-клиенте, зависла вкладка браузера, а не процесс 1С.
Если запущено несколько баз, сверьте заголовок окна на вкладке «Процессы»: снимайте именно зависшее окно, а не соседнюю базу коллеги на терминальном сервере.
Порядок: правой кнопкой по строке → «Снять задачу». На терминальном сервере снимайте процесс только своего пользователя — колонка «Имя пользователя» на вкладке «Подробности».
Что потеряется, а что нет
| Данные | Судьба после снятия процесса |
|---|---|
| Записанные и проведённые документы | Сохранены |
| Документ, открытый и не записанный | Изменения потеряны |
| Транзакция, которая выполнялась в момент зависания (проведение, групповая обработка) | Откатится целиком — половины проведения не будет |
| Обработка, которая писала данные порциями без общей транзакции | Часть записей останется, часть нет |
| Настройки отчётов и форм за сеанс | Могут не сохраниться |
Последний пункт таблицы важен: если зависла групповая перепроводка или загрузка, после перезапуска проверьте, на каком документе она остановилась, и запустите её заново с этого места.
Файловая база особенно чувствительна к снятию процесса во время записи. Риск повредить файл 1Cv8.1CD невелик, но он есть. Если после перезапуска появились странные ошибки — переходите к разделу о проверке базы.
Клиент-серверный вариант: сеанс живёт дольше клиента
В клиент-серверной 1С снятие 1cv8c.exe закрывает только окно у вас. На сервере сеанс может продолжать выполнять тяжёлый запрос, держать блокировки и лицензию. Через некоторое время сервер сам заметит обрыв связи, но ждать этого не всегда удобно.
Администратор завершает такой сеанс вручную:
- Открыть «Администрирование серверов 1С Предприятия» (консоль кластера).
- Раскрыть кластер →
Информационные базы→ нужная база →Сеансы. - Найти сеанс по имени пользователя и компьютеру, правой кнопкой → «Удалить».
Из командной строки то же делает утилита rac: список сеансов — rac session list --cluster=<id>, параметры удаления смотрите в rac help session.
Удаление чужого сеанса обрывает работу этого пользователя без предупреждения, несохранённое у него пропадёт. Предупредите человека, прежде чем удалять его сеанс.
Перезапуск рабочего процесса rphost.exe или службы агента сервера оборвёт сеансы всех пользователей базы и других баз на этом сервере. Это крайняя мера, на нерабочее время или по согласованию.
Фоновые задания и блокировки: когда «висит» не у вас
Бывает, что ваш клиент исправен, а зависает действие: документ не проводится, отчёт крутится бесконечно. Причина — другой сеанс или фоновое задание держит те же данные.
Признаки конфликта блокировок
Если подождать, 1С часто сама выдаёт текст ошибки:
Конфликт блокировок при выполнении транзакции: Превышено максимальное время ожидания предоставления блокировкиОшибка блокировки объекта. Объект уже заблокированОбнаружена взаимоблокировка(deadlock)
Такие ошибки говорят: кто-то параллельно меняет те же остатки, тот же документ или те же регистры. Чаще всего это закрытие месяца, перепроведение, обмен с другой базой или загрузка выписок.
Где посмотреть фоновые задания
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) откройте Администрирование → Обслуживание и найдите раздел о регламентных и фоновых операциях. В части релизов раздел называется «Поддержка и обслуживание».
Там видно, какие задания сейчас выполняются: обмен данными, обновление полнотекстового индекса, загрузка курсов валют, обработка после обновления. Если задание висит «Выполняется» часами — его можно отменить в этом же списке.
Кто сейчас работает в базе, показывает список «Активные пользователи» (ссылка в том же разделе). В клиент-серверном варианте точнее картину даёт консоль кластера: у базы есть ветки Сеансы и Блокировки, где видно, какой сеанс держит блокировку.
Очистка кэша и проверка базы
Если 1С зависает при запуске, на одной и той же форме или после обновления платформы, первым делом чистят кэш клиента. Это безопасно: удаляются только временные файлы, данные базы не трогаются.
Очистка кэша клиента
Самый простой способ — параметр запуска:
- В окне выбора баз выделите базу → «Изменить».
- Пройдите до последней страницы, в поле «Дополнительные параметры запуска» впишите
/ClearCache. - Запустите базу один раз, потом параметр удалите.
Ручной способ — закрыть все окна 1С и удалить папки с длинными именами из каталогов кэша:
%APPDATA%\1C\1cv8
%LOCALAPPDATA%\1C\1cv8
Удалять нужно только папки вида a1b2c3d4-... (идентификаторы баз). Файлы ibases.v8i и 1cestart.cfg не трогайте: в них список баз.
При ручной очистке вместе с кэшем пропадут сохранённые настройки форм и отчётов этого пользователя в этой базе на этом компьютере. Сами данные базы останутся.
Тестирование и исправление информационной базы
Если зависания начались после аварийного снятия процесса или выключения света, проверьте базу.
Перед этим обязательно сделайте копию базы
(Конфигуратор → Администрирование → Выгрузить информационную базу или копию файла 1Cv8.1CD для файловой базы). Исправление меняет данные и необратимо.
Варианты:
- 🔧 Через Конфигуратор:
Администрирование → Тестирование и исправление. Нужен монопольный доступ — все пользователи должны выйти. Для начала отметьте только «Проверка логической целостности» и «Проверка ссылочной целостности» в режиме «Тестирование без исправления». - 🔧 Утилита
chdbfl.exe— только для файловой базы. Лежит в папкеbinустановленной платформы, напримерC:\Program Files\1cv8\8.3.xx.xxxx\bin\. Проверяет физическую целостность файла1Cv8.1CD. База при этом должна быть закрыта всеми.
Для клиент-серверной базы физическую целостность проверяют средствами СУБД (у MS SQL — DBCC CHECKDB), это задача администратора СУБД.
Сеть, диск и права доступа: внешние причины зависаний
Если 1С зависает «на ровном месте», с нулевой нагрузкой процессора, клиент чаще всего чего-то ждёт: ответа от сетевой папки, сервера или диска.
Файловая база в сетевой папке
- 📶 Нестабильная сеть или Wi-Fi. Файловая база по Wi-Fi работает плохо: любой обрыв — зависание, иногда повреждение файла.
- 🛡️ Антивирус на компьютере, где лежит база, проверяет
1Cv8.1CDна каждое обращение. Добавьте папку с базой в исключения антивируса. - 🔐 Права. Пользователю Windows нужны права на чтение и запись в папку с базой, а не только на файл. Без записи 1С не может создать служебные файлы и ведёт себя непредсказуемо.
- 💾 Мало места на диске, где лежит база или временная папка пользователя (
%TEMP%).
Клиент-серверная база
Клиент соединяется с агентом сервера по порту 1540, затем с менеджером кластера (1541) и рабочими процессами — их диапазон портов задаётся в свойствах рабочего сервера, по умолчанию 1560:1591. Если межсетевой экран режет часть диапазона, подключение может «висеть» до таймаута.
Быстрая проверка с компьютера пользователя в PowerShell:
Test-NetConnection srv1c -Port 1540
Test-NetConnection srv1c -Port 1541
Если TcpTestSucceeded равно False, вопрос к сети или межсетевому экрану, а не к 1С.
Терминальный сервер
На терминальном сервере зависание одного сеанса часто вызвано нехваткой памяти на всём сервере. Откройте диспетчер задач на вкладке «Пользователи» и посмотрите, сколько памяти занимают процессы 1cv8c.exe. Один пользователь с отчётом на миллион строк может забрать несколько гигабайт.
Журнал регистрации и технологический журнал: где искать причину
Снять процесс — значит убрать симптом. Чтобы зависание не повторилось, нужно понять, что делала 1С в момент сбоя.
Журнал регистрации
Открывается в пользовательском режиме через Администрирование → Обслуживание или из Конфигуратора: Администрирование → Журнал регистрации.
Что искать:
- Отбор по пользователю и интервалу времени зависания.
- События с уровнем «Ошибка» и события
Сеанс. Завершение— так видно аварийно завершённые сеансы. - Последние записи перед зависанием: какой документ записывали, какую обработку запускали.
Если журнал регистрации разросся до десятков гигабайт, он сам может тормозить базу. В Конфигураторе через Администрирование → Настройка журнала регистрации можно сократить его, предварительно сохранив старые записи в файл.
Технологический журнал
Для повторяющихся зависаний на сервере администратор включает технологический журнал. Настройка — файл logcfg.xml в каталоге conf платформы (или в общем каталоге настроек 1С). В нём задают, какие события писать: например, TLOCK и TTIMEOUT для блокировок, TDEADLOCK для взаимоблокировок, EXCP для исключений.
Пример минимальной настройки для поиска таймаутов блокировок:
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\1c_techlog" history="24">
<event>
<eq property="name" value="TTIMEOUT"/>
</event>
<event>
<eq property="name" value="TDEADLOCK"/>
</event>
<property name="all"/>
</log>
</config>
Технологический журнал без отборов быстро заполняет диск. Включайте его на время диагностики, задавайте history (часы хранения) и удаляйте файл настройки после разбора.
Журнал Windows
Если процесс 1С закрывается сам или «падает» вместо зависания, загляните в «Просмотр событий» → «Журналы Windows» → «Приложение». Записи об ошибке приложения с именем 1cv8c.exe или rphost.exe подскажут модуль, на котором произошёл сбой — часто это драйвер принтера, антивирус или внешняя компонента.
Как сделать, чтобы 1С зависала реже
Профилактика дешевле аварийного снятия процессов.
Для пользователя:
- 📅 Формируйте тяжёлые отчёты за нужный период, а не «с начала времён». Оборотно-сальдовая ведомость по счёту 41 с развёрнутыми субконто за три года — частая причина «висящей» 1С.
- 💾 Записывайте документ (
Ctrl+S) перед долгими действиями: печатью пачки форм, заполнением табличной части по остаткам. - 🚫 Не запускайте перепроведение и закрытие месяца, когда коллеги активно проводят документы.
Для администратора:
- 🔄 Обновляйте платформу до актуального номера, рекомендованного для вашего релиза конфигурации. Многие зависания — исправленные ошибки платформы.
- 🕓 Разнесите регламентные задания по времени: обмены, полнотекстовый индекс, резервное копирование — ночью и не одновременно.
- 🛡️ Исключения антивируса: папки баз, каталоги кэша пользователей, каталог сервера 1С с данными кластера.
- 💿 Файловую базу держите на SSD. При 5–10 одновременных пользователях и росте базы задумайтесь о переходе на клиент-серверный вариант.
- 🧹 Регулярно проверяйте размер журнала регистрации и свободное место на дисках.
- 🧪 Раз в квартал делайте тестирование базы в режиме «без исправления» на копии.
Частые вопросы
Можно ли выключить компьютер, если 1С зависла?
Ctrl+Break и снятие задачи. Но для файловой базы, которая открыта на этом компьютере, жёсткое выключение опаснее снятия процесса: прерывается запись на диск.