Завершение сеанса 1С: штатный выход, аварийное закрытие и «висящие» пользователи
Содержание
Корректно выйти из
1С — значит сначала сохранить или закрыть открытые документы, дождаться конца длительных операций, а потом закрыть главное окно программы: крестиком, сочетанием Alt+F4 или через главное меню Файл → Выход. Так платформа успевает записать изменения, освободить лицензию и завершить сеанс в базе. Снимать процесс 1cv8.exe или 1cv8c.exe в диспетчере задач — крайняя мера, а не способ выхода.
Неправильный выход редко ломает базу сразу. Чаще последствия накапливаются: «висящий» сеанс держит лицензию, файловая база после обрыва требует проверки, обновление не стартует из-за пользователя, которого давно нет за компьютером. Ниже — порядок действий для каждого варианта работы и что делать, если программа не закрывается.
Штатный выход из 1С: порядок действий пользователя
Платформа 1С 8.3 сама следит за несохранёнными данными. Если в открытой форме есть изменения, при закрытии она спросит, сохранить ли их. Но вопрос не спасает от всего: длительная операция, прерванная на середине, просто оборвётся.
Порядок, который стоит превратить в привычку:
- 📝 Запишите или проведите документы, которые редактировали. Окна с несохранёнными изменениями отмечены звёздочкой в заголовке.
- ⏳ Дождитесь окончания длительных операций: закрытия месяца, обмена данными, загрузки банковской выписки, формирования тяжёлого отчёта. Пока внизу окна крутится индикатор или открыто окно «Выполняется…», программу не закрывайте.
- 📤 Если работаете с ЭДО или 1С-Отчетностью, дождитесь завершения отправки. Прерванная отправка не портит базу, но документ может остаться в промежуточном статусе.
- ❌ Закройте главное окно. В интерфейсе «Такси» — крестик в правом верхнем углу,
Alt+F4или пунктФайл → Выходв главном меню (кнопка с тремя полосками слева вверху). - ✅ Ответьте на вопрос платформы о завершении работы и о сохранении изменений, если он появится.
Если платформа не спрашивает подтверждения при закрытии, а вы хотите от этого защититься, включите его: главное меню Сервис → Параметры, флажок «Запрашивать подтверждение при закрытии программы». Это настройка текущего пользователя.
Типовые конфигурации на базе БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) при выходе могут показать собственные предупреждения: например, что не завершена отправка или есть незаписанные данные в рабочих местах. Такое окно стоит прочитать, а не закрыть не глядя: оно появилось по делу.
Выход из Конфигуратора
В Конфигураторе правило одно: не закрывайте его, пока идёт Обновление конфигурации базы данных, загрузка .dt-файла, тестирование и исправление базы. Прерванная реструктуризация — одна из немногих ситуаций, когда неаккуратный выход действительно приводит к восстановлению из копии.
Если в конфигурации есть несохранённые изменения, Конфигуратор при закрытии спросит, сохранять ли их. Сохранение основной конфигурации ещё не обновляет базу данных: это отдельный шаг.
Тонкий клиент, веб-клиент и сервер: что происходит при закрытии
В клиент-серверном варианте (база на сервере 1С:Предприятия и СУБД) у пользователя только клиент, а сеанс живёт в рабочем процессе сервера. При штатном выходе клиент сообщает серверу о завершении, сервер закрывает сеанс и освобождает клиентскую лицензию.
Если клиент исчез без предупреждения — отключили сеть, «упал» компьютер, процесс сняли в диспетчере, — сервер узнаёт об этом не сразу. Пока соединение не признано разорванным, сеанс числится в списке и держит лицензию.
Сравнение вариантов работы:
| Вариант | Где живёт сеанс | Что будет при обрыве | Как убрать «висящий» сеанс |
|---|---|---|---|
| Файловая база, толстый или тонкий клиент | На компьютере пользователя, база — файл 1Cv8.1CD | Остаётся процесс или отметка о сеансе, база может требовать проверки | Завершить процесс на компьютере, при необходимости — тестирование и исправление |
| Клиент-серверная база, тонкий клиент | В рабочем процессе сервера 1С | Сеанс висит до обнаружения разрыва, лицензия занята | Консоль кластера или rac session terminate |
| Веб-клиент через публикацию | На сервере 1С через веб-сервер | После закрытия вкладки сеанс закрывается не мгновенно | Штатный выход из меню, иначе — консоль кластера |
| Удалённый рабочий стол (RDP) | На терминальном сервере | При закрытии окна RDP сеанс Windows и 1С продолжают работать | Выходить из 1С до отключения от RDP |
Веб-клиент
Закрытие вкладки браузера — не то же самое, что выход. Корректно завершать работу через меню самой программы. Иначе сеанс подождёт, пока сервер не поймёт, что клиента нет, и всё это время будет занимать лицензию.
Работа через RDP
Частая ловушка терминальных серверов: пользователь закрывает окно подключения крестиком. Windows не завершает его сеанс, а переводит в «отключённый». Вместе с ним продолжает работать 1С. Наутро администратор видит в базе двадцать «активных» пользователей, из которых за компьютерами никого нет.
Выход простой: сначала закрыть 1С, потом выйти из Windows через Пуск → Выйти. Администратор терминального сервера может настроить в групповых политиках ограничение на время отключённого сеанса.
Аварийное завершение и снятие «висящих» сеансов
Если программа не отвечает больше нескольких минут, а индикатор длительной операции не движется, можно завершить её принудительно. Сначала стоит понять, не идёт ли тяжёлая операция: закрытие месяца на большой базе может «молчать» десятки минут, и это нормально.
Принудительное завершение во время записи, проведения или обмена может оставить данные в неполном виде. Используйте его только когда программа действительно зависла.
Пользователь: снять процесс
- Откройте диспетчер задач
Ctrl+Shift+Esc. - На вкладке «Подробности» найдите
1cv8.exe(толстый клиент) или1cv8c.exe(тонкий клиент). - Если открыто несколько баз, по колонке «Имя пользователя» и времени запуска определите нужный процесс.
- Нажмите «Снять задачу».
- Запустите 1С снова и проверьте последние документы: записались ли они, проведены ли.
Администратор: завершить сеанс в базе
В типовых конфигурациях на БСП список активных пользователей открывается из раздела Администрирование, группа обслуживания, ссылка «Активные пользователи». Там же есть «Блокировка работы пользователей»: она запрещает новые входы и завершает текущие сеансы с предупреждением. Этот механизм нужен перед обновлением, чтобы не выгонять людей вручную.
В клиент-серверной базе сеанс завершают в консоли администрирования серверов 1С: кластер → Информационные базы → нужная база → Сеансы, правой кнопкой по сеансу → «Удалить».
То же через утилиту rac (сервер администрирования ras должен быть запущен):
rac cluster list
rac session list --cluster=<uuid-кластера>
rac session terminate --cluster=<uuid-кластера> --session=<uuid-сеанса>
Если на кластере задан администратор, добавьте параметры авторизации; их точные имена смотрите в справке rac help session.
Удаление сеанса обрывает работу пользователя без сохранения. Если человек на месте, сначала попросите его выйти сам. Массовое завершение сеансов делайте вне рабочего времени или с предупреждением всех пользователей.
Перезапуск службы «Агент сервера 1С:Предприятия» тоже снимает все сеансы, но сразу для всех баз кластера. Это последний вариант, только когда консоль не отвечает и все пользователи предупреждены.
Файловая база: чем опасен обрыв и как его пережить
В файловом варианте каждый клиент сам читает и пишет файл 1Cv8.1CD. Сервера-посредника нет. Поэтому обрыв при записи — выключили свет, отвалился сетевой диск, сняли процесс — бьёт по самому файлу базы сильнее, чем в клиент-серверном варианте.
Что повышает риск:
- 🌐 База лежит в сетевой папке, а сеть или Wi-Fi нестабильны.
- 💻 Пользователи выключают ноутбук крышкой или кнопкой, не закрывая 1С.
- 🔌 Нет источника бесперебойного питания у компьютера, где лежит база.
- 🛡️ Антивирус проверяет
1Cv8.1CDпри каждом обращении.
После аварийного завершения файловая база обычно открывается без проблем. Если же появились ошибки чтения, «Ошибка формата потока», база не открывается или ведёт себя странно, запустите проверку.
- Сделайте копию каталога базы целиком: скопируйте папку с
1Cv8.1CDпри закрытой программе у всех пользователей. - Убедитесь, что в базе никого нет: при проверке нужен монопольный доступ.
- Откройте Конфигуратор и выберите
Администрирование → Тестирование и исправление. - Сначала запустите режим только проверки, без исправления, и посмотрите результат.
- Если ошибки найдены — повторите с исправлением.
Если Конфигуратор не открывает базу, есть утилита chdbfl.exe из папки bin установленной платформы. Она проверяет физическую целостность файла 1Cv8.1CD без запуска 1С. Её тоже запускают на копии или при закрытой базе.
Не удаляйте служебные файлы рядом с 1Cv8.1CD, чтобы «разблокировать» базу, пока не убедились, что в неё никто не зашёл. Удаление при открытом сеансе оборвёт работу пользователя и может испортить данные.
Почему 1С зависает при закрытии: диагностика
Зависание при выходе — симптом, а не причина. Программа в этот момент что-то делает: сохраняет настройки, выполняет обработчики конфигурации, ждёт ответа от сети или сервера.
Где искать следы
- 📒 Журнал регистрации (раздел
Администрирование, группа обслуживания). Фильтруйте по пользователю и времени выхода. Событие «Сеанс. Завершение» показывает нормальный выход; если его нет, а следующий вход идёт сразу за ошибкой — сеанс оборвался. - 🖥️ Диспетчер задач на компьютере пользователя: висит ли процесс, сколько памяти занимает.
- 🧭 Консоль кластера для клиент-серверной базы: остаётся ли сеанс после закрытия клиента и сколько он существует.
- 🛠️ Технологический журнал платформы, если проблема повторяется и непонятна. Он включается файлом
logcfg.xmlи пишет подробные события; включайте его на короткое время, он быстро растёт.
Очистка кэша клиента
Запуск с очисткой кэша — самый безопасный приём. В окне запуска выберите базу, нажмите «Изменить», дойдите до последней страницы и в поле дополнительных параметров запуска впишите /ClearCache. Или из командной строки:
"C:\Program Files\1cv8\<версия>\bin\1cv8c.exe" ENTERPRISE /F"D:\Base\Buh" /ClearCache
Вручную кэш удаляют из папок с GUID-именами в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Делайте это при закрытой 1С; файл списка баз ibases.v8i в %APPDATA%\1C\1CEStart не трогайте.
Как настроить сеансы, чтобы не было «висящих» пользователей
Профилактика нужна администратору больше, чем пользователю. Несколько настроек избавляют от утренних звонков «нет свободных лицензий».
На сервере 1С
В свойствах информационной базы в консоли кластера есть два параметра для неактивных сеансов:
- «Время засыпания пассивного сеанса» — через сколько секунд бездействия сеанс засыпает и освобождает лицензию;
- «Время завершения спящего сеанса» — через сколько секунд спящий сеанс закрывается совсем.
Пример настройки для офиса: засыпание через 1800 секунд (30 минут), завершение спящего через 28 800 секунд (8 часов). Пользователь, который ушёл на обед, вернётся и продолжит работу без повторного входа, а забытый на ночь сеанс к утру исчезнет.
Если у вас программные лицензии на ограниченное число пользователей, засыпание сеансов — самый дешёвый способ «добыть» свободную лицензию без покупки новой.
В терминальной среде
- Ограничьте время отключённого сеанса RDP в групповых политиках Windows Server.
- Научите пользователей выходить через
Пуск → Выйти, а не закрывать окно подключения.
Для файловых баз
- Перенесите базу с Wi-Fi и медленной сети на локальный диск сервера или переходите на клиент-серверный вариант, если работают больше 3-5 человек.
- Исключите каталог базы из антивирусной проверки.
- Настройте ежедневную выгрузку или копирование базы в нерабочее время: тогда любой неудачный выход обойдётся потерей не больше одного дня.
Перед обновлением
Включайте «Блокировку работы пользователей» с запасом по времени: например, начало через 10 минут. Пользователи увидят предупреждение и успеют сохраниться и выйти сами. Это корректнее, чем удалять их сеансы в консоли.
Частые ошибки при выходе из программы
- ❌ Выключить компьютер с открытой 1С. Windows завершит процессы принудительно, и если в этот момент шла запись, данные могут остаться неполными.
- ❌ Закрывать окно, когда «долго думает». Тяжёлый отчёт или закрытие месяца может работать дольше, чем кажется. Подождите и проверьте нагрузку на процессор в диспетчере задач: если процесс работает, он не завис.
- ❌ Открывать одну базу дважды, чтобы «не ждать». Второй экземпляр создаёт ещё один сеанс и вторую лицензию, а блокировки данных между ними приводят к ошибкам записи.
- ❌ Удалять сеансы в консоли в рабочее время без предупреждения. Пользователь теряет несохранённую работу и потом не понимает, почему документ пропал.