1С зависла и не закрывается: как снять задачу и закрыть программу без потери данных

· 11 мин

Содержание

Если 1С зависла и не закрывается, действовать нужно по возрастанию жёсткости: сначала дать программе 3–5 минут закончить операцию, потом закрыть окно штатно, затем снять задачу в диспетчере задач и только в последнюю очередь закрыть 1С принудительно командой taskkill. Чем раньше в этом списке вы остановитесь, тем меньше шансов получить битые документы и зависший сеанс в базе.

Главная причина проблем не в том, что завис 1С, а в том, что процесс убивают на первой же секунде. Пока клиент держит транзакцию, принудительное завершение рвёт её на середине: в файловой базе остаётся запись в таблице блокировок, в клиент-серверной — «мёртвый» сеанс, который блокирует документ ещё 10–20 минут.

Ниже — разбор всех рабочих способов: от штатного закрытия до завершения сеанса через консоль кластера, плюс проверка данных после аварийного выхода и настройки, которые убирают зависания совсем.

С чего начать: ваш случай

Как именно зависла 1С?

Шаг 1. Убедитесь, что 1С действительно зависла

Windows пишет «Не отвечает» уже через 5 секунд молчания окна. Это ничего не значит: 1С может считать себестоимость сорок минут и всё это время не перерисовывать интерфейс.

Проверьте три признака:

  • 📊 Загрузка ЦП. Откройте диспетчер задач (Ctrl + Shift + Esc), вкладка Подробности. Если у 1cv8.exe стабильные 12–25% — идёт расчёт в одном потоке. Ноль процентов несколько минут подряд — плохой знак.
  • 💾 Активность диска. В клиент-серверном варианте смотрите не клиента, а rphost.exe на сервере: именно он выполняет код.
  • 🔗 Цепочку ожидания. Запустите resmon.exe, вкладка ЦП, правой кнопкой по процессу 1С → Анализ цепочки ожидания. Если видно, что процесс ждёт другой процесс (например, sqlservr.exe или сетевой драйвер) — зависание не внутри 1С.

Перед принудительным закрытием сделайте файл дампа: в диспетчере задач правой кнопкой по процессу → Создать файл дампа. Если зависания повторяются, этот файл — единственное, с чем можно идти к администратору или в поддержку.

Шаг 2. Закрыть 1С штатно, пока это ещё возможно

Самый безопасный способ работает чаще, чем кажется.

  1. Нажмите Alt + F4 в окне 1С — иногда обработчик закрытия жив, даже когда перерисовка встала.
  2. Если появилось окно «Программа не отвечает» — выберите Ожидать отклика программы, а не Закрыть программу. Дайте ещё 2–3 минуты.
  3. В веб-клиенте просто закройте вкладку браузера: сеанс сам отвалится по таймауту.

При штатном закрытии 1С успевает записать транзакцию, снять блокировки и закрыть сеанс в базе. Всё остальное ниже — компромисс.

Шаг 3. Зависла 1С — как снять задачу в диспетчере задач

Классический способ, он же ответ на вопрос «как закрыть 1С принудительно» в 90% случаев.

  1. Ctrl + Shift + Esc → вкладка Подробности (в Windows 10/11) или Процессы.
  2. Отсортируйте по колонке Имя и найдите нужный процесс:
ПроцессЧто этоГде работает
1cv8.exeтолстый клиент и конфигураторрабочее место
1cv8c.exeтонкий клиентрабочее место
1cestart.exeокно запуска (список баз)рабочее место
rphost.exeрабочий процесс серверасервер 1С
rmngr.exeменеджер кластерасервер 1С
ragent.exeагент серверасервер 1С
  1. Правой кнопкой по процессу → Снять задачу. Если в дереве висят дочерние процессы (принтер, COM-соединение) — выбирайте Завершить дерево процессов.
  2. Подождите 10–15 секунд. Процесс исчезает из списка не сразу.

На терминальном сервере в списке будет несколько 1cv8.exe — по одному на пользователя. Ориентируйтесь на колонку Пользователь, иначе выбьете коллегу из базы посреди проведения накладной. Включите колонку «Пользователь» через правую кнопку по заголовку таблицы, прежде чем что-то снимать.

Если «Снять задачу» не срабатывает

Бывает, что процесс помечен как завершаемый, но остаётся в списке. Причины: ожидание ответа от сетевого диска, зависший драйвер принтера, антивирус, перехватывающий файловые операции. В этом случае переходите к командной строке.

Шаг 4. Как закрыть 1С принудительно через командную строку

Способ жёстче диспетчера: taskkill с флагом /F не просит процесс завершиться, а снимает его принудительно.

Сначала посмотрите, что запущено:

tasklist /FI "IMAGENAME eq 1cv8.exe"
tasklist /FI "IMAGENAME eq 1cv8c.exe"

Завершение по имени образа — закроет все клиенты 1С текущего пользователя:

taskkill /F /IM 1cv8.exe
taskkill /F /IM 1cv8c.exe
taskkill /F /IM 1cestart.exe

Точнее — по идентификатору процесса (PID виден в диспетчере задач и в выводе tasklist):

taskkill /F /PID 7412

То же в PowerShell, если привычнее:

Get-Process 1cv8, 1cv8c -ErrorAction SilentlyContinue | Stop-Process -Force

На терминальном сервере нужен фильтр по сеансу, чтобы не задеть других:

query session
taskkill /F /FI "IMAGENAME eq 1cv8c.exe" /FI "SESSION eq 4"

Команду taskkill /F /IM rphost.exe на сервере 1С выполняет только администратор и только осознанно: вместе с ней упадут все сеансы всех пользователей этой базы.

Шаг 5. 1С зависла и не закрывается даже после taskkill

Остался «процесс-зомби» — значит, он висит в режиме ядра и ждёт ответа от драйвера. Порядок действий:

  1. 🔌 Проверьте сеть. Файловая база на сетевой папке плюс отвалившийся VPN — классика. Пока SMB-сессия не вылетит по таймауту (до 45 секунд), процесс не умрёт.
  2. 🖨 Смените принтер по умолчанию. Зависший сетевой принтер держит 1С на печати отчёта. Поставьте по умолчанию Microsoft Print to PDF.
  3. 🛡 Отключите антивирус на минуту. Проверка файла базы на лету блокирует операции чтения.
  4. 🔁 Выйдите из сеанса Windows (Выход, а не Перезагрузка) — система сама прибьёт все процессы пользователя. Для терминального сервера это штатный приём.
  5. 🔄 Перезагрузите компьютер — последний вариант. Через Пуск, а не кнопкой питания: кнопка питания при открытой файловой базе почти гарантирует повреждение таблиц.

Как завершить зависший сеанс на сервере 1С

Принудительное закрытие клиента не всегда убивает сеанс. Сервер продолжает считать пользователя активным, и его документы остаются заблокированными.

Вариант 1 — из самой базы. Нужны права администратора:

  • Бухгалтерия 3.0: Администрирование — Настройки пользователей и прав — Активные пользователи
  • ЗУП 3.1: Администрирование — Настройки пользователей и прав — Активные пользователи
  • УТ 11 и ERP: НСИ и администрирование — Настройки пользователей и прав — Активные пользователи
  • В любой конфигурации на управляемых формах: Главное — Все функции — Стандартные — Активные пользователи

Выделите строку с зависшим сеансом → кнопка Завершить сеанс. Работает только в клиент-серверном варианте.

Вариант 2 — консоль кластера. Администрирование серверов 1С Предприятия → Центральный сервер → Кластеры → ваш кластер → Сеансы. Правой кнопкой по сеансу → Удалить. Если сеанс не удаляется, снимите его в ветке Соединения.

Вариант 3 — на крайний случай. Перезапуск службы агента сервера:

net stop "1C:Enterprise 8.3 Server Agent"
net start "1C:Enterprise 8.3 Server Agent"

Имя службы отличается от версии к версии — посмотрите точное в services.msc.

Если «мёртвые» сеансы накапливаются, настройте в свойствах рабочего процесса время перезапуска и выставьте в базе таймаут завершения неактивных сеансов. Половина обращений «1С зависла» решается этим один раз и навсегда.

Особенности тонкого клиента, веб-клиента и файловой базы

Тонкий клиент (1cv8c.exe). Не держит данные сам, поэтому принудительное закрытие относительно безопасно. Но если зависание происходит при каждом запуске — чистите кэш:

taskkill /F /IM 1cv8c.exe
"C:\Program Files\1cv8\common\1cestart.exe" /ClearCache

Либо вручную удалите подкаталоги с длинными именами-хешами из %LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8. Базы и настройки при этом не теряются, слетают только «любимое» и временные формы.

Веб-клиент. Закрытие вкладки сеанс не убивает мгновенно: он живёт до таймаута. Чтобы освободить лицензию сразу — завершите сеанс в консоли кластера.

Файловая база. Самый уязвимый вариант. После принудительного закрытия в каталоге базы может остаться запись о «живом» соединении, и при следующем входе 1С сообщает, что база занята другим пользователем. Порядок:

  1. Убедитесь, что ни один 1cv8.exe не запущен ни у вас, ни у коллег (на файловой базе — обойти рабочие места).
  2. Сделайте копию всего каталога базы — файла 1Cv8.1CD и служебных файлов.
  3. Только после копии удалите служебный файл блокировок 1Cv8.cdn в каталоге базы.
  4. Войдите в базу. Если 1С пишет о некорректном завершении — запустите проверку (ниже).

Никогда не удаляйте и не переименовывайте 1Cv8.1CD — это и есть сама база с вашим учётом.

Что проверить после принудительного закрытия

Принудительное завершение рвёт транзакцию. СУБД откатит её целиком, но прикладные последствия стоит проверить руками — особенно если вы закрывали 1С во время закрытия месяца, расчёта зарплаты или обмена.

Проверка базы после аварийного закрытия 1С
Выполнено: 0 / 8

Проверка и исправление базы

  • Файловая база: закройте все сеансы и запустите C:\Program Files\1cv8\<номер версии>\bin\chdbfl.exe, укажите путь к 1Cv8.1CD, поставьте галочку Исправлять обнаруженные ошибки.
  • Любая база из конфигуратора: Администрирование — Тестирование и исправление. Для начала — только Проверка логической целостности и Реиндексация таблиц, без реструктуризации.
  • Клиент-серверная база : физическая целостность — задача СУБД, в 1С достаточно реиндексации и проверки ссылочной целостности.

Перепроведение и контрольные отчёты

КонфигурацияПерепроведениеОтчёт для проверки
Бухгалтерия 3.0Администрирование — Обслуживание — Корректировка данных — Групповое перепроведение документовОтчёты — Анализ учёта — Экспресс-проверка ведения учёта
ЗУП 3.1пересчёт документов начисления за месяц зановоЗарплата — Отчёты по зарплате — Анализ начислений и удержаний
УТ 11НСИ и администрирование — Обслуживание — Групповое перепроведение документовСклад и доставка — Отчёты — Контроль отрицательных остатков
ERPто же + перезапуск Закрытие месяца по проблемному этапуКонтроль отрицательных остатков, Анализ себестоимости

Пример, зачем это нужно. Поступление товаров на 240 000 ₽ записалось, но движения по регистру остатков встали на середине: по счёту 41 легло 200 000 ₽, НДС 40 000 ₽ по счёту 19.03 не отразился. В оборотно-сальдовой ведомости вы увидите расхождение ровно на сумму НДС — перепроведение документа восстановит проводки Дт 41.01 Кт 60.01 на 200 000 ₽ и Дт 19.03 Кт 60.01 на 40 000 ₽.

Типичные ошибки

  • ❌ Убивать процесс на первой секунде «Не отвечает». Чаще всего программа просто считает. Правило: минимум 5 минут наблюдения за ЦП и диском.
  • ❌ Выключать компьютер кнопкой питания при открытой файловой базе. Самый частый источник реально битых таблиц.
  • ❌ Снимать 1cv8.exe на терминальном сервере без колонки «Пользователь». Вы выбьете из базы случайного коллегу.
  • ❌ Удалять 1Cv8.1CD вместо 1Cv8.cdn. Похожие имена, разные последствия: во втором случае теряется только таблица блокировок, в первом — вся база.
  • ❌ Запускать реструктуризацию в «Тестировании и исправлении» без копии. Прерванная реструктуризация превращает рабочую базу в нерабочую.
  • ❌ Перезапускать службу сервера 1С в рабочее время, чтобы снять один зависший сеанс. Сеанс удаляется точечно в консоли кластера.
  • ❌ Не проверять документ после аварийного выхода. Документ остался записанным, но непроведённым — и обнаруживается это через месяц, при сдаче отчётности.

Как сделать, чтобы 1С не зависала

Технические причины повторяющихся зависаний почти всегда одни и те же.

  1. 🗂 Уберите файловую базу с сетевой папки. Файловый режим по сети — главная причина зависаний и битых баз. Больше трёх пользователей — переводите на клиент-серверный вариант.
  2. 🧹 Чистите кэш клиента при первых подвисаниях на запуске: ключ /ClearCache или удаление каталогов кэша.
  3. 🛡 Добавьте исключения в антивирус: каталог базы, %LOCALAPPDATA%\1C, папку с платформой C:\Program Files\1cv8, процессы 1cv8.exe, 1cv8c.exe, rphost.exe.
  4. ⏱ Настройте таймауты сеансов и регламентный перезапуск rphost.exe в консоли кластера — утечки памяти рабочего процесса перестанут доходить до зависания.
  5. 📦 Тяжёлые операции — в фоновые задания. Закрытие месяца и обмены с большими объёмами лучше запускать регламентным заданием ночью, а не днём в интерфейсе.
  6. 🔄 Держите платформу в актуальном релизе. Часть зависаний на печати и в формах лечится обновлением платформы, а не бубном.
  7. 💾 Автоматическая резервная копия каждый день. Это не предотвращает зависание, но делает его безопасным.

Если 1С зависает у одного пользователя и только в одной форме — ищите не в платформе, а в его настройках: сохранённые отборы в списке документов или огромное «Избранное» легко подвешивают открытие формы на минуты.

Частые вопросы

Можно ли потерять данные, если закрыть 1С принудительно?
Введённый, но не записанный документ потеряется. Записанные данные останутся: незавершённую транзакцию СУБД откатит целиком. Риск реальной порчи базы есть только у файлового варианта.
Какой процесс снимать в диспетчере задач?
1cv8.exe — толстый клиент и конфигуратор, 1cv8c.exe — тонкий клиент, 1cestart.exe — окно со списком баз. Процессы rphost.exe, rmngr.exe и ragent.exe живут на сервере и трогать их без администратора нельзя.
Я закрыл клиента, но 1С пишет, что пользователь уже работает в базе. Что делать?
В клиент-серверном варианте удалите сеанс в консоли кластера или через Активные пользователи. В файловом — закройте все клиенты и удалите файл 1Cv8.cdn в каталоге базы, предварительно скопировав каталог целиком.
Сколько ждать перед тем, как снять задачу?
Обычная операция — 3–5 минут. Закрытие месяца, перепроведение, обмен или формирование большого отчёта — до 30–40 минут, если ЦП и диск у процесса загружены.
1С зависает при каждом запуске, до открытия базы. Как закрыть и что делать?
Снимите 1cv8c.exe и 1cestart.exe через taskkill /F /IM, затем запустите 1cestart.exe с ключом /ClearCache. Если не помогло — переименуйте каталоги кэша в %LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8.
Нужно ли после принудительного закрытия запускать тестирование и исправление?
Для файловой базы — да, достаточно chdbfl.exe с исправлением ошибок. Для клиент-серверной хватит проверки логической целостности и реиндексации в конфигураторе. Реструктуризацию без свежей резервной копии не включайте.