Завершение работы в 1С: от штатного выхода до снятия зависшего сеанса и чистки кэша
Содержание
Штатно из 1С выходят, закрыв главное окно крестиком в правом верхнем углу или сочетанием Alt+F4; то же делает команда выхода в главном меню (кнопка со стрелкой в левом верхнем углу интерфейса «Такси»). Если программа зависла и окно не закрывается — сеанс снимают через Диспетчер задач или, в клиент-серверном варианте, через консоль кластера. После аварийного закрытия часто помогает очистка кэша.
Разберём все случаи: от обычного завершения сеанса до принудительного снятия чужого подключения администратором, выхода из Конфигуратора с отладкой и чистки временных файлов. Пути приведены для платформы 8.3 с интерфейсом «Такси».
Штатное завершение сеанса
Самый безопасный способ — дать платформе корректно закрыть соединение. Тогда записываются незавершённые действия, снимаются транзакционные блокировки, освобождается лицензия.
Три равнозначных способа закрыть клиент:
- 🖱️ крестик в правом верхнем углу главного окна;
- ⌨️ сочетание
Alt+F4; - 📋 команда выхода в главном меню — кнопка в левом верхнем углу, пункт внизу списка.
Если в сеансе остались непроведённые документы или незаписанные формы, 1С спросит, сохранить изменения или нет. Это штатное поведение, а не ошибка — просто ответьте на вопрос.
Отдельно закрывать каждое открытое окно документа не нужно: при выходе из программы они закроются сами. Но если форма «висит» в состоянии редактирования с модальным окном (например, открыт выбор из справочника), сначала закройте это дочернее окно — иначе главное окно не отреагирует на команду выхода.
После закрытия клиента рабочий процесс на сервере ещё несколько секунд держит сеанс, а затем завершает его по тайм-ауту. Это нормально: мгновенно сеанс из списка активных не исчезает.
Веб-клиент. Если работаете через браузер, одного закрытия вкладки мало: сеанс на сервере остаётся до тайм-аута. Правильнее выйти командой выхода внутри самой программы (кнопка главного меню), а потом уже закрыть вкладку. Тогда соединение завершится сразу, а не повиснет.
Освобождение лицензии. Пока сеанс активен, он занимает один клиентский ключ или программную лицензию. При штатном выходе лицензия освобождается немедленно, поэтому коллега, которому не хватило ключа, сможет зайти. После аварийного обрыва лицензия «висит» вместе с сеансом до тайм-аута — это частая причина сообщения «превышено количество лицензий», хотя за компьютерами уже никого нет.
Когда клиент завис: снятие через Диспетчер задач
Если 1С не отвечает, окно побелело и штатный выход не срабатывает, процесс снимают средствами Windows.
- Откройте
Диспетчер задач—Ctrl+Shift+EscилиCtrl+Alt+Del→Диспетчер задач. - Перейдите на вкладку
Подробности(в старых сборках —Процессы). - Найдите процесс клиента:
1cv8.exe— толстый клиент;1cv8c.exe— тонкий клиент;- браузер (
chrome.exe,msedge.exe) — если работаете через веб-клиент, закрывается вкладка браузера.
- Выделите процесс и нажмите
Снять задачу.
Снятие процесса — это аварийный обрыв, а не выход. Всё, что не было записано, теряется, а транзакционные блокировки и лицензия освобождаются не сразу — сервер «подвесит» сеанс до тайм-аута. Снимайте процесс только когда клиент действительно завис, а не вместо обычного выхода.
Если процессов 1cv8.exe несколько (открыто несколько баз), ориентируйтесь по столбцу Командная строка — его можно включить правым щелчком по шапке таблицы: там видно путь к информационной базе.
Не трогайте на сервере процессы ragent.exe, rmngr.exe и rphost.exe — это агент, менеджер и рабочие процессы кластера 1С. Их снятие обрывает сеансы всех пользователей, а не только ваш. На клиентском компьютере таких процессов обычно нет.
Список активных пользователей: кто ещё в базе
Прежде чем кого-то выкидывать, посмотрите, кто подключён. В типовых конфигурациях список открывается командой Активные пользователи — через главное меню → Сервис, либо через Все функции (если режим включён в параметрах).
В списке видно: имя пользователя, компьютер, приложение (толстый/тонкий/веб-клиент), время начала сеанса. По нему понятно, из-за кого не получается встать на монопольный доступ или кого нужно попросить выйти перед обновлением.
| Режим базы | Что можно сделать из клиента |
|---|---|
| Файловая | Только посмотреть список. Завершить чужой сеанс из клиента нельзя — пользователь закрывает 1С сам |
| Клиент-серверная | Посмотреть список; завершить сеанс — через консоль кластера или rac (ниже) |
Чтобы перед обновлением никто не зашёл заново, в типовых конфигурациях есть «Блокировка работы пользователей» (Администрирование → Обслуживание → Блокировка работы пользователей либо Поддержка и обслуживание). Она ставит запрет на вход с указанием времени и кода доступа для администратора.
Снятие сеанса в клиент-серверной базе
В клиент-серверном варианте сеансы живут в кластере серверов 1С, и завершают их администратор через консоль или утилиту rac.
Через консоль администрирования серверов (оснастка MMC):
- Откройте
Администрирование серверов 1С Предприятия. - Разверните центральный сервер → кластер →
Сеансы. - Найдите нужный сеанс по имени пользователя, щёлкните правой кнопкой →
Удалить.
Если консоль не открывается или выдаёт ошибку подключения, обычно не зарегистрирована библиотека radmin.dll. Зарегистрируйте её из каталога bin платформы: regsvr32 "C:\Program Files\1cv8\<версия>\bin\radmin.dll" (командная строка от администратора). Версия в консоли должна быть не ниже версии сервера.
Через утилиту rac (командная строка сервера):
rac session list --cluster=<uuid-кластера>
rac session terminate --cluster=<uuid-кластера> --session=<uuid-сеанса>
Идентификатор кластера берут командой rac cluster list. Точный набор параметров terminate смотрите в rac help session — он зависит от версии платформы.
Удаление сеанса — это обрыв работы пользователя без сохранения. Предупредите человека, прежде чем снимать его подключение, и не снимайте сеанс во время проведения крупного документа или закрытия месяца.
Очистка кэша и временных файлов
После аварийного закрытия, ошибок вида «не найден файл», странного поведения форм или обновления платформы помогает чистка клиентского кэша. Кэш — это локальные временные файлы соединения с базой, они пересоздаются при следующем запуске.
Папки кэша в профиле пользователя Windows:
%LOCALAPPDATA%\1C\1Cv8— основной каталог;%LOCALAPPDATA%\1C\1Cv82— для старых соединений.
Внутри лежат подкаталоги с «непонятными» именами — по одному на каждую информационную базу. Удалять их безопасно: потеряются только настройки соединения и временные данные, сами данные базы не затрагиваются.
Порядок безопасной очистки:
Альтернатива без ручного удаления — запуск с параметром очистки:
"C:\Program Files\1cv8\common\1cestart.exe" /ClearCache
Параметр /ClearCache чистит кэш информационной базы при запуске. Его же можно дописать в свойства ярлыка 1С в поле Объект после пути к 1cestart.exe.
Чистка кэша — безопасная операция: это временные файлы, а не данные учёта. Потеряются лишь локальные настройки соединения (их 1С восстановит при первом входе) и, в редких случаях, пользовательские настройки форм на этом компьютере. Сами справочники, документы и проводки лежат в базе и чисткой кэша не затрагиваются. Поэтому перед обращением в поддержку по «непонятным» ошибкам форм чистку кэша пробуют одной из первых.
Чистите кэш, только когда 1С полностью закрыта. Если удалить файлы при запущенном клиенте, получите ошибку и всё равно придётся закрывать программу.
Выход из Конфигуратора и режима отладки
Конфигуратор — отдельный режим запуска, и закрывается он так же: крестиком или через Файл → Выход. Но есть нюансы.
Отладка. Если из Конфигуратора запущена отладка (Отладка → Начать отладку, F5), сначала остановите сеанс отладки — Отладка → Остановить, Shift+F5. Иначе Конфигуратор может ждать завершения отлаживаемого приложения. Закрыть можно и не останавливая — платформа предложит прервать отладку.
Монопольный доступ. Для части операций Конфигуратор занимает базу монопольно: обновление структуры базы данных, загрузка .dt, тестирование и исправление. Пока такая операция идёт, другие сеансы не подключатся, а закрыть Конфигуратор
до её конца нельзя. Для обычного редактирования форм и модулей монополия не нужна — база остаётся доступной пользователям. Поэтому перед обновлением сначала добивайтесь, чтобы все пользователи вышли (список активных, блокировка входа), и только потом запускайте операцию, требующую монополии, — иначе Конфигуратор выдаст ошибку установки монопольного доступа.
Если после закрытия Конфигуратора пользователи всё равно жалуются «база занята», проверьте в списке активных пользователей, не остался ли висеть сеанс самого Конфигуратора, и не запущено ли фоновое обновление.
Автоматическое и программное завершение
Закрыть сеанс можно не только руками.
Из встроенного языка. Глобальный метод ЗавершитьРаботуСистемы() завершает текущий сеанс:
// Завершить работу без перезапуска
ЗавершитьРаботуСистемы(Ложь);
// Завершить и перезапустить клиент
ЗавершитьРаботуСистемы(Истина);
Первый параметр — выполнять ли перезапуск. Метод вызывают, например, в обработчике события или в служебной обработке для перезапуска после настроек.
Массовое завершение перед обслуживанием. В клиент-серверной базе администратор задаёт в кластере блокировку начала сеансов и время, после которого активные сеансы снимаются. Это штатный механизм для обновлений: пользователей предупреждают, к указанному времени их сеансы завершаются, база освобождается под монопольные операции.
Запуск с параметрами. Параметр командной строки /C"текст" передаёт в конфигурацию строку, которую код читает через ПараметрЗапуска. По ней обработчик при старте может, например, выполнить действие и сразу завершить работу. Сам сценарий пишется в конфигурации. Так автоматизируют регламентные выгрузки: планировщик Windows запускает 1cv8.exe с нужным параметром, код отрабатывает и вызывает ЗавершитьРаботуСистемы().
Перезапуск службы сервера. Крайняя мера, когда сеансы не снимаются ничем: перезапуск службы агента сервера 1С (1C:Enterprise 8.3 Server Agent) в оснастке Службы Windows. Это обрывает разом все сеансы кластера и все фоновые задания.
Перезапуск службы агента — последнее средство. Он выкинет из базы всех пользователей без сохранения и прервёт идущие регламентные задания. Делайте это только как администратор сервера и только когда никакие штатные способы снятия сеанса не помогли.
Автоматическое снятие сеансов и блокировка — операции уровня администратора базы. Планируйте их на время, когда прерывание работы не критично: снятие сеанса обрывает незаписанные данные.
Что делать, если сеанс не завершается
Типовые ситуации и быстрое решение:
%LOCALAPPDATA%\1C\1Cv8 или запуск с /ClearCache) при полностью закрытой программе.Частые вопросы
Чем отличается выход из 1С от снятия процесса в Диспетчере задач?
Как администратору завершить чужой сеанс?
rac. В файловой базе завершить чужой сеанс из клиента нельзя — пользователь закрывает 1С сам.Нужно ли удалять кэш после каждого выхода?
Почему после закрытия 1С я ещё вижу себя в списке активных пользователей?
1cv8.exe.