Выход из 1С без потерь: штатное закрытие, зависший сеанс и принудительное завершение

· 9 мин

Содержание

Завершить сеанс в 1С можно закрытием окна программы: крестик в правом верхнем углу, Alt+F4 или пункт меню выхода. Если окно не отвечает, сеанс снимают через диспетчер задач (процесс 1cv8c.exe или 1cv8.exe), а чужой сеанс на сервере завершает администратор в консоли кластера.

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

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

Штатный выход: меню, крестик, горячие клавиши

Это основной способ. Программа сама сохранит настройки окон и корректно закроет соединение с базой.

  • 🖱 Крестик в правом верхнем углу окна программы.
  • ⌨️ Alt+F4 при активном окне 1С.
  • 📂 Главное меню (кнопка со стрелкой в левом верхнем углу заголовка) → «Файл» → «Выход». В режиме с обычным меню — «Файл» → «Выход».

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

Закрывайте именно окно программы, а не вкладку внутри. Крестик на вкладке закрывает только форму документа, сеанс остаётся жить.

Если открыто несколько баз

При запуске нескольких баз из одного списка у каждой свой сеанс и своё окно. Закрытие одного окна другие не трогает. Выйти надо из каждого окна отдельно.

Режимы запуска: тонкий клиент, толстый, веб, конфигуратор

Сеанс бывает разным, и закрывается он чуть по-разному.

РежимПроцесс в системеКак закрыть штатноОсобенность
Тонкий клиент1cv8c.exeКрестик, Alt+F4Самый частый вариант в клиент-серверной базе
Толстый клиент1cv8.exeКрестик, «Файл» → «Выход»Нужен для файловой базы в некоторых сценариях
Веб-клиентВкладка браузераЗакрыть вкладку или меню выходаСеанс на сервере живёт ещё какое-то время после закрытия вкладки
Конфигуратор1cv8.exe (режим «Конфигуратор»)«Файл» → «Выход»Держит блокировку конфигурации; пока открыт, обновлять нельзя

Веб-клиент закрывается неаккуратно чаще всего. Пользователь просто закрыл браузер, а на сервере сеанс продолжает висеть. Это нормально: сервер снимет его сам по таймауту. Если ждать некогда, завершайте из консоли (раздел ниже).

Конфигуратор забывают открытым чаще, чем кажется. Он мешает полному обновлению конфигурации и выгрузке/загрузке базы. Если пользователь ушёл домой, а конфигуратор висит, завершайте этот сеанс принудительно.

Программа не отвечает: как снять зависший сеанс

Окно «Не отвечает», курсор крутится, крестик не работает . Сначала подождите пару минут: тяжёлый отчёт или проведение за период могут «думать» долго и потом отвечать.

Если ждать бесполезно:

  1. Нажмите Ctrl+Shift+Esc, откройте диспетчер задач.
  2. Найдите процесс 1С. В Windows он называется «1С:Предприятие» или 1cv8c.exe. Если открыт конфигуратор, это 1cv8.exe.
  3. Правой кнопкой → «Снять задачу».
  4. Если окно уже пропало, а процесс остался, на вкладке «Подробности» завершите его вручную.

Командой из командной строки:

taskkill /IM 1cv8c.exe /F

Эта команда снимает все тонкие клиенты на компьютере. Если открыто несколько баз, закроются все. Чтобы убрать конкретный, возьмите его PID в диспетчере задач:

taskkill /PID 12345 /F

Не снимайте процесс во время записи большого документа или обмена данными. Файловая база при обрыве может остаться с повреждёнными индексами, а в клиент-серверной вы получите откат транзакции.

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

  • Заново откройте базу и проверьте последний документ: проведён он или остался в черновике.
  • Если база файловая и 1С пишет об ошибке при запуске, посмотрите, не остался ли в папке с базой файл блокировки 1Cv8.cdn. Его можно удалить только когда в базу точно никто не заходит.
  • Если программа зависает регулярно, а не разово, проблема не в завершении: ищите медленный запрос, антивирус, нехватку памяти или сеть.

Завершение чужих сеансов на сервере

Когда нужно обновить конфигурацию , сделать выгрузку или освободить лицензию, администратор отключает пользователей сам. Для клиент-серверной базы это делается в консоли кластера серверов 1С.

Через консоль кластера

  1. Откройте консоль администрирования серверов 1С:Предприятия.
  2. Раскройте нужный кластер, затем «Информационные базы» и найдите базу.
  3. Откройте «Сеансы» (или «Соединения», если нужен именно обрыв подключения).
  4. Выберите сеанс пользователя, правой кнопкой → «Удалить» (в части версий — «Завершить сеанс»).

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

Сообщение лучше написать конкретно: «Обновление базы с 18:00 до 18:30, сохраните работу». Пользователь прочитает его в окне, если не закрыл программу.

Через командную строку rac

На сервере есть утилита rac. Подходит, когда консоль недоступна или нужен скрипт.

rac cluster list
rac session list --cluster=<идентификатор_кластера>
rac session terminate --cluster=<идентификатор_кластера> --session=<идентификатор_сеанса>

Идентификаторы это длинные GUID. Берите их из вывода первых двух команд, не вводите по памяти.

Из самой программы

В файловой базе и в клиент-серверной с настроенными правами пользователей можно посмотреть, кто сейчас в базе. Откройте форму списка активных пользователей: она находится в разделе администрирования, а если не нашли, введите «активные пользователи» в строку поиска по командам. Там видно имя, компьютер и время входа. Но завершить сеанс оттуда нельзя: для этого нужна консоль или просьба к пользователю.

Завершение работы пользователей при обновлении

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

Файловая база: чем отличается

В файловой базе нет сервера и консоли кластера. Все пользователи работают напрямую с файлом базы, поэтому завершить чужой сеанс изнутри нельзя совсем.

Что делать, если нужна монопольная работа (сжатие, тестирование и исправление, загрузка):

  1. Попросите всех выйти штатно. Список подключённых видно в форме активных пользователей.
  2. Если человек недоступен, найдите его компьютер по имени из этого списка и закройте процесс там: удалённо через диспетчер задач или командой taskkill /S имя_компьютера /IM 1cv8c.exe /F с правами администратора.
  3. Когда сеансов не осталось, запускайте конфигуратор или клиент в монопольном режиме.

Для файловой базы заранее договоритесь о времени обслуживания и сообщите людям. Принудительное снятие процесса в файловой базе опаснее, чем в клиент-серверной: транзакции не откатываются автоматически, и файл может остаться с ошибками.

Лицензия после выхода: когда она освобождается

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

  • ✅ После штатного выхода лицензия освобождается сразу.
  • ⏳ После закрытия веб-клиента или аварийного обрыва сети лицензия остаётся занятой, пока сервер не снимет сеанс по таймауту.
  • 🔌 Зависший клиент удерживает лицензию, пока сеанс не будет завершён вручную.

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

Типичный пример. Купили 5 лицензий, работают 4 человека, а пятый не может зайти. В консоли видно, что у одного бухгалтера два сеанса: рабочий и оставшийся после закрытия браузера. Завершаем лишний, лицензия возвращается.

Если часто не хватает лицензий из-за брошенных сеансов, настройте на сервере автоматическое завершение неактивных сеансов. Параметры времени бездействия находятся в свойствах кластера и информационной базы, а точные названия зависят от версии платформы.

Кэш и временные файлы после выхода

Закрыли сеанс, а проблемы остались: старые формы, странные ошибки интерфейса, медленный запуск. Тогда чистите локальный кэш клиента.

Кэш лежит в профиле пользователя Windows, в двух местах:

  • %LOCALAPPDATA%\1C\1cv8
  • %APPDATA%\1C\1cv8

В них много папок с именами-GUID: по одной на каждую базу из списка. Удалять нужно только при закрытых окнах 1С.

Быстрый способ

Запустите клиент с параметром очистки кэша:

"C:\Program Files\1cv8\<версия>\bin\1cv8c.exe" ENTERPRISE /ClearCache

Путь к программе у вас свой: версия платформы в нём меняется. Проще добавить параметр в свойства ярлыка, запустить один раз и вернуть ярлык обратно.

Вручную

  1. Закройте все сеансы 1С на компьютере и убедитесь, что процессы 1cv8c.exe и 1cv8.exe не остались в диспетчере задач.
  2. Откройте две папки из списка выше.
  3. Удалите содержимое папок с GUID, либо только ту, что относится к проблемной базе.
  4. Запустите 1С. Первый запуск займёт чуть больше времени: кэш создаётся заново.

Список баз и настройки внешнего вида хранятся рядом, но не в этих папках. Кэш очищается безопасно, но на всякий случай не трогайте файл со списком баз (ibases.v8i), иначе придётся добавлять базы заново.

Какой у вас случай?

Что не стоит делать при завершении сеанса

  • 🚫 Выключать компьютер кнопкой, когда в 1С идёт проведение или обмен.
  • 🚫 Завершать процесс ragent.exe или rphost.exe на сервере ради одного зависшего пользователя. Пострадают все, у кого открыты сеансы в этом рабочем процессе.
  • 🚫 Удалять файлы базы или лишние папки «чтобы выкинуть пользователей».
  • 🚫 Завершать конфигуратор, пока он сохраняет конфигурацию или применяет изменения. Это может оставить базу в промежуточном состоянии.

Если пользователь ушёл и не закрыл программу, не нужно сразу применять силу: сначала включите блокировку и завершите именно его сеанс из консоли.

Если ничего не помогло

Бывает, что сеанс завершается, а через минуту появляется снова, или кнопка «Удалить» в консоли ничего не делает.

  1. Проверьте, нет ли у пользователя запущенного фонового задания или регламентной задачи: они запускают собственные сеансы. Их видно в списке сеансов по типу приложения.
  2. Если сеанс держит рабочий процесс сервера, подождите завершения его операции: прерывание длинной транзакции занимает время.
  3. Перезапустите службу сервера 1С. Это крайняя мера: отключатся все пользователи, поэтому делайте её только в согласованное окно.
  4. Если сервер 1С не отвечает на команды rac, проверьте, запущена ли служба агента сервера и открыты ли порты в брандмауэре.

Перед перезапуском службы сервера предупредите всех работающих в базах: незавершённые транзакции откатятся.

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

Потеряются ли данные при завершении сеанса?
Записанные и проведённые документы сохранятся. Теряется то, что пользователь ещё не записал: открытая форма с правками и данные незавершённой транзакции.
Как понять, что сеанс действительно завершён?
В консоли кластера сеанс пропадает из списка. На компьютере в диспетчере задач не остаётся процесса 1cv8c.exe или 1cv8.exe.
Освобождается ли лицензия, если просто закрыть браузер с веб-клиентом?
Не сразу. Сеанс на сервере остаётся, пока не истечёт таймаут. Чтобы освободить лицензию раньше, завершите сеанс в консоли кластера.
Можно ли завершить сеанс другого пользователя без консоли?
Из самой программы нельзя: там можно только посмотреть список активных пользователей. Завершение выполняет администратор кластера или через утилиту rac.
Нужно ли чистить кэш каждый раз после выхода?
Нет. Чистите, когда видите странности: старые формы после обновления, ошибки интерфейса, медленный старт.
Чем отличается завершение сеанса от завершения соединения?
Сеанс это вход пользователя в базу. Соединение это канал связи клиента с сервером. Удаление сеанса освобождает лицензию. Если оборвать только соединение, клиент может переподключиться к тому же сеансу.