Окно 1С:Предприятия замерло — как вернуть работу и не потерять данные

· 10 мин

Содержание

Если 1С не отвечает, сначала подождите 2–3 минуты и посмотрите в диспетчере задач, грузит ли процесс 1cv8c.exe (или 1cv8.exe) процессор и диск. Грузит — программа работает и, скорее всего, выполняет долгую операцию. Не грузит и окно с пометкой «Не отвечает» висит дольше 5 минут — завершайте процесс, чистите кэш и ищите причину: блокировку, сервер СУБД или сеть.

Ниже порядок действий, который подходит для платформы 8.3 и любой типовой конфигурации: БП 3.0, ЗУП 3.1, УТ 11. Зависание почти всегда возникает на уровне платформы, базы или инфраструктуры, а не конкретной конфигурации.

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

Первая задача — понять, где именно затык. От этого зависит, чем лечить.

Задайте себе три вопроса

  • 👤 Висит только у вас или у всех? Если у всех — проблема на сервере, в СУБД или сети. Если у одного — в его компьютере, кэше или сеансе.
  • ⏳ Что вы делали в момент зависания? Закрытие месяца , перепроведение за квартал, формирование тяжёлого отчёта, обмен с другой базой — это легально долгие операции.
  • 🗂 Какая база — файловая или клиент-серверная? В свойствах базы в окне запуска видно: путь к папке (File=...) или имя сервера (Srvr=...).

Посмотрите на процесс в диспетчере задач

  1. Нажмите Ctrl+Shift+Esc.
  2. На вкладке «Подробности» найдите 1cv8c.exe (тонкий клиент) или 1cv8.exe (толстый клиент и Конфигуратор).
  3. Оцените нагрузку:
Что видитеЧто это значитЧто делать
ЦП 10–25% и выше, память растётИдёт вычислениеПодождать, особенно при закрытии месяца
ЦП 0%, диск и сеть молчатПроцесс ждёт ответа: блокировку, сервер, сетевой ресурсПроверять блокировки и сервер
Память под 2–4 ГБ и выше и продолжает растиУтечка или зацикливание в отчёте или обработкеЗавершать процесс
Нагрузка на диск 100%Антивирус, нехватка памяти, медленный дискПроверить исключения антивируса и файл подкачки

Если зависание наступает на одном и том же действии — запишите, на каком. Это сразу сужает поиск: конкретный отчёт, документ или обработка.

Как закрыть зависшую 1С без вреда для базы

Если ждать бессмысленно, процесс придётся завершить. Документ, который вы не записали, при этом пропадёт. Уже записанные данные не пострадают: транзакция, которая не завершилась, откатывается.

Завершение на своём компьютере

  1. В диспетчере задач выберите 1cv8c.exe или 1cv8.exe.
  2. Нажмите «Снять задачу».
  3. Если процесс не закрылся, выполните в командной строке:
taskkill /IM 1cv8c.exe /F
taskkill /IM 1cv8.exe /F

Ключ /F закрывает принудительно. Если открыто несколько баз, команда закроет все сеансы 1С на этом компьютере — сначала сохраните работу в других окнах.

Завершение сеанса на сервере

В клиент-серверной базе после убийства клиента сеанс может остаться висеть на сервере и держать блокировки. Его нужно снять:

  1. Откройте консоль «Администрирование серверов 1С Предприятия».
  2. Раскройте кластер → «Информационные базы» → нужная база → «Сеансы».
  3. Найдите сеанс пользователя (по имени и компьютеру), щёлкните правой кнопкой → «Удалить».

Удаление сеанса обрывает работу пользователя без сохранения. Предупредите его заранее, если это не ваш сеанс.

Если не отвечает рабочий процесс сервера

Когда висят все пользователи, а в диспетчере задач сервера процесс rphost.exe съел почти всю память, помогает его завершение. Платформа перезапустит рабочий процесс сама.

Завершение rphost.exe или перезапуск службы агента сервера 1С обрывает сеансы всех пользователей, которые работают через этот процесс. Делайте это после предупреждения или вне рабочего времени. Если без этого никак — дайте людям 5–10 минут, чтобы записать документы.

Очистка кэша 1С: зачем и как

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

Способ 1. Параметр запуска /ClearCache

Самый безопасный вариант — платформа сама сбросит кэш при входе.

  1. В окне запуска выделите базу → «Изменить».
  2. Пройдите до последней страницы мастера.
  3. В поле «Дополнительные параметры запуска» впишите /ClearCache.
  4. Нажмите «Готово» и запустите базу.

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

Способ 2. Удалить папки кэша вручную

  1. Закройте все окна 1С.
  2. Нажмите Win+R, введите %APPDATA%\1C\1cv8 и откройте папку.
  3. Удалите папки с длинными именами вида a1b2c3d4-... — это кэш отдельных баз.
  4. Повторите то же для %LOCALAPPDATA%\1C\1cv8.

Не трогайте файл ibases.v8i в папке %APPDATA%\1C\1CEStart — в нём список ваших баз. Удалите его, и окно запуска окажется пустым.

Вместе с кэшем пропадут пользовательские настройки форм, которые хранятся локально. Настройки, сохранённые в самой базе, останутся.

Кэш на сервере

Если после обновления конфигурации зависают все пользователи клиент-серверной базы, практики чистят сеансовые данные сервера. Это папки snccntx... внутри каталога кластера srvinfo\reg_1541.

Порядок: предупредить всех пользователей → остановить службу агента сервера 1С → удалить папки snccntx* → запустить службу. Остальное содержимое reg_1541 не трогайте: там реестр кластера.

Блокировки и монопольный режим: когда 1С ждёт другого пользователя

Частая причина «зависания» без нагрузки на процессор — ожидание блокировки. Ваш сеанс хочет записать документ, а те же данные держит транзакция другого пользователя или фонового задания.

Как это выглядит

  • ⌛ Документ не записывается 20 секунд и больше, затем появляется ошибка Конфликт блокировок при выполнении транзакции: Превышено максимальное время ожидания предоставления блокировки.
  • 🔁 Проведение документа висит, пока коллега закрывает месяц или перепроводит остатки.
  • 📦 Обмен данными или загрузка из банка идёт параллельно с ручной работой и тормозит всех.

Что делать

  1. Узнайте, кто сейчас в базе. В Конфигураторе: Администрирование → Активные пользователи. В клиент-серверной базе то же видно в консоли сервера, узел «Сеансы».
  2. Найдите длинную операцию: закрытие месяца, перепроведение, обмен, фоновое задание.
  3. Дождитесь её завершения или договоритесь о переносе тяжёлых операций на вечер.
  4. Если сеанс «умер», но висит в списке — удалите его через консоль сервера, как описано выше.

Монопольный режим

Монопольный доступ нужен для обновления структуры базы, загрузки файла .dt, тестирования и исправления. Если в базе кто-то есть, платформа не может его установить и сообщает об этом. Сама 1С в такой момент не зависает, а ждёт или выдаёт ошибку.

Чтобы выгнать всех корректно, в типовых конфигурациях есть блокировка работы пользователей: Администрирование → Обслуживание. Там задают время начала блокировки и сообщение для пользователей. В клиент-серверной базе блокировку начала сеансов можно включить и в свойствах базы в консоли сервера.

Файловая база зависает: проверки на стороне диска

Файловая база — это один файл 1Cv8.1CD в папке. Каждый пользователь читает и пишет его напрямую по сети. Отсюда типичные проблемы.

  • 🌐 База лежит на сетевой папке, а сеть медленная или Wi-Fi. Любой обрыв — и клиент ждёт ответа файлового ресурса.
  • 🛡 Антивирус проверяет 1Cv8.1CD при каждом обращении. Добавьте папку базы и папки кэша в исключения антивируса на сервере и на клиентах.
  • 👥 Слишком много пользователей. Когда в файловой базе одновременно работают 8–10 человек и больше, ожидания на блокировках растут. Это сигнал переходить на клиент-серверный вариант.
  • 💾 Повреждение файла базы после сбоя питания. Симптом — зависание на одном и том же объекте или ошибки чтения.

Тестирование и исправление

  1. Сделайте резервную копию: скопируйте папку базы целиком при закрытой 1С.
  2. Откройте базу в Конфигураторе в монопольном режиме.
  3. Выберите Администрирование → Тестирование и исправление.
  4. Для начала отметьте «Проверка логической целостности» и «Реиндексация таблиц», режим — «Тестирование и исправление».

Для файловой базы есть и отдельная утилита chdbfl.exe в папке bin установленной платформы. Она проверяет физическую целостность файла 1Cv8.1CD, пока база закрыта для всех.

Диагностика СУБД и сети в клиент-серверной базе

Если зависают все и сразу, а на компьютерах пользователей процессы 1С почти не нагружены, смотрите сервер.

Сервер 1С

  • 🧠 Память и ЦП процессов rphost.exe, rmngr.exe, ragent.exe.
  • 📉 Свободное место на диске: при нехватке места журнал регистрации и временные файлы перестают писаться, и работа встаёт.
  • ⚙️ В свойствах кластера задайте интервал перезапуска рабочих процессов и допустимый объём памяти — тогда разбухший rphost перезапустится сам, плавно.

MS SQL Server

Откройте SQL Server Management Studio и выполните:

EXEC sp_who2;

Смотрите колонку BlkBy: если в ней стоит номер процесса, значит, этот процесс ждёт другой. Цепочка блокировок обычно сходится к одному сеансу — это и есть виновник. Тот же вид даёт «Монитор активности» в Management Studio.

PostgreSQL

Долгие и ждущие запросы видно так:

SELECT pid, state, wait_event_type,
       now() - query_start AS duration,
       left(query, 80) AS query
FROM pg_stat_activity
WHERE state <> 'idle'
ORDER BY duration DESC;

Запрос, который выполняется десятки минут, — первый кандидат. Сопоставьте его с сеансом 1С в консоли сервера и решите, ждать или снимать сеанс.

Сеть

Клиент подключается к агенту сервера (порт 1540), затем к менеджеру кластера (1541) и рабочим процессам — диапазон их портов задан в свойствах рабочего сервера, по умолчанию 1560–1591. Если какой-то из портов закрыт файрволом, вход висит или обрывается по таймауту.

Проверка с компьютера пользователя в PowerShell:

Test-NetConnection srv1c -Port 1541

Вместо srv1c подставьте имя сервера. TcpTestSucceeded : True — порт доступен. Проверьте так же 1540 и один из портов рабочего диапазона.

Диагностика: выберите симптом

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

Профилактика дешевле, чем ежедневные снятия задач.

Регламент обслуживания

ЧтоКак частоГде
Обновление статистики и перестроение индексовЕжедневно ночьюПлан обслуживания MS SQL или VACUUM ANALYZE в PostgreSQL
Тестирование и исправление файловой базыРаз в 1–3 месяцаКонфигуратор
Сокращение журнала регистрацииПо мере ростаКонфигуратор: Администрирование → Журнал регистрации
Проверка свободного места на сервереЕженедельноСервер
Резервная копияЕжедневноСредствами СУБД или копированием папки файловой базы

Порядок работы пользователей

  • 🌙 Закрытие месяца, массовое перепроведение и большие обмены — вне рабочего времени.
  • 📊 Тяжёлые отчёты — за короткий период, с отбором по организации или складу.
  • 🔌 Не держать базу открытой неделями: перезапуск клиента раз в день освобождает память.
  • 🧩 Регламентные задания (обмены, загрузка курсов, полнотекстовый индекс) — с расписанием, которое не совпадает с пиком работы.

Железо и настройки

  • Для клиент-серверной базы — SSD под файлы СУБД и отдельный диск или раздел под журналы.
  • Достаточная память на сервере СУБД: ограничьте память MS SQL так, чтобы операционной системе и серверу 1С оставалось несколько гигабайт.
  • Актуальная платформа: ошибки, из-за которых висят клиенты, регулярно исправляют в новых сборках. Платформу сервера и клиентов держите одной сборки.

Если зависания случаются регулярно и без видимой причины, включите технологический журнал (файл logcfg.xml в каталоге conf платформы) с событиями долгих запросов и блокировок. Он покажет, какой запрос и какая блокировка виноваты, без догадок.

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

Пропадут ли данные, если снять задачу 1С через диспетчер задач?
Записанные документы останутся. Пропадёт только то, что было в открытой форме и не записано. Незавершённая транзакция откатится.
Почему 1С зависает только у одного сотрудника, а у остальных всё работает?
Чаще всего виноват локальный кэш, антивирус или нехватка памяти на его компьютере. Начните с запуска с параметром /ClearCache.
Можно ли удалить папку %APPDATA%\1C целиком?
Не стоит. В ней лежит список баз ibases.v8i. Удаляйте только папки кэша с длинными именами в 1cv8.
Сколько ждать, прежде чем принудительно закрывать 1С?
Если процесс грузит процессор или диск — дождитесь окончания, закрытие месяца может идти десятки минут. Если нагрузки нет больше 5 минут — закрывайте.
Зависает Конфигуратор при обновлении — что делать?
Не прерывайте обновление структуры базы, пока процесс нагружает диск: обрыв может повредить базу. Если активности нет долго, проверьте блокировки и сеансы, а перед повтором сделайте резервную копию.