Завершение работы 1С: от кнопки «Выход» до снятия сеанса на сервере
Содержание
Правильно закрыть 1С — это кнопка закрытия окна (крестик в правом верхнем углу) или Alt+F4: программа спросит подтверждение и сохранит состояние интерфейса. Так завершают работу в большинстве случаев, и файловая база при этом корректно снимает блокировку.
Сложнее, когда 1С не закрывается: окно висит, крестик не реагирует, а на сервере остаётся «мёртвый» сеанс, который держит документ. Тогда в ход идут диспетчер задач, консоль администрирования сервера и утилита rac. Разберём все варианты — от самого безопасного к радикальному, с оговоркой, когда какой уместен.
Снятие процесса или сеанса силой означает потерю несохранённых данных в открытых формах. Сначала всегда пробуйте закрыть программу штатно.
Чтобы сразу выбрать подходящий вариант, сверьтесь с таблицей — какой способ в какой ситуации применяют и чем он рискует:
| Способ | Когда применяют | Риск |
|---|---|---|
Крестик, Alt+F4, «Главное меню» | Штатный выход, программа отвечает | Нет: данные сохраняются по запросу |
| Диспетчер задач, «Снять задачу» | Клиент завис, окно не реагирует | Потеря несохранённой формы |
Консоль сервера / rac, снятие сеанса | «Мёртвый» сеанс на сервере мешает входу или обновлению | Потеря формы у пользователя сеанса |
Удаление 1Cv8.1CL | Файловая база блокируется, хотя никто не работает | Порча базы, если кто-то всё же открыл |
| Блокировка начала сеансов | Нужно закрыть базу для всех перед обслуживанием | Нет: мягкий способ, люди выходят сами |
Штатное завершение работы через интерфейс
Самый безопасный способ — дать программе закрыться самой. Она корректно снимет сеанс, запишет пользовательские настройки форм и освободит блокировки.
Способы завершить работу штатно:
- 🖱 Нажать крестик в правом верхнем углу главного окна.
- ⌨️ Сочетание клавиш
Alt+F4на активном окне программы. - 🔘 Через «Главное меню» (кнопка в левом верхнем углу интерфейса «Такси») → пункт «Файл».
Если в открытом документе остались незаписанные изменения, 1С спросит, записать их или нет. Ответьте осознанно: «Нет» означает, что введённые в форму данные пропадут без возможности восстановления.
Когда открыто несколько окон (список, карточка документа, обработка), закрывайте их по очереди клавишей Esc или крестиком вкладки, а затем завершайте саму программу. Это снижает риск того, что одна из форм «зависнет» на вопросе и не даст окну закрыться.
💡 Толстый клиент (1cv8.exe), тонкий клиент (1cv8c.exe) и веб-клиент закрываются одинаково — через интерфейс. Отличие только в том, какой процесс вы потом увидите в диспетчере задач, если программа подвиснет.
Что делать, если 1С не закрывается и зависла
Бывает, что окно побелело, крестик не срабатывает, а Windows пишет «Программа не отвечает». Прежде чем снимать процесс, дайте программе 30–60 секунд: часто она выполняет длинный запрос или фоновое задание и закроется сама.
Короткая диагностика по симптому:
Esc на этом окне; если не помогает — закройте программу целиком и войдите заново.Главное правило: снятие процесса — это аварийный выход. Для файловой базы он изредка приводит к тому, что база просит тестирование и исправление при следующем запуске. Для клиент-серверной базы данные защищены транзакциями на сервере, но несохранённое содержимое формы всё равно теряется.
Закрытие через диспетчер задач Windows
Если штатно закрыть не удалось, снимаем процесс клиента. Это способ для случая, когда зависло именно окно пользователя.
Порядок действий:
- Откройте диспетчер задач сочетанием
Ctrl+Shift+Esc. - Перейдите на вкладку «Подробности» (в Windows Server 2016 и новее она показывает имена процессов).
- Найдите процесс клиента 1С:
1cv8.exe— толстый клиент и конфигуратор;1cv8c.exe— тонкий клиент.
- Выделите нужную строку и нажмите «Снять задачу».
Как не снять лишнее:
- На терминальном сервере одновременно работают десятки процессов
1cv8c.exe— у каждого пользователя свой. Ориентируйтесь на колонку «Имя пользователя», чтобы снять именно свой сеанс. - Не снимайте на сервере процессы
ragent.exe,rmngr.exeиrphost.exe— это служба сервера 1С. Их остановка оборвёт сеансы всех пользователей базы.
После «Снять задачу» 1С закрывается мгновенно, без вопроса о сохранении. Всё, что было введено в форму и не записано, пропадает. Поэтому диспетчер задач — только когда интерфейс уже не отвечает.
Если процесс не снимается даже так, помогает перезапуск самой службы рабочего стола пользователя или, в крайнем случае, выход из сеанса Windows — но это уже воздействие на всю сессию, а не на одну 1С.
Завершение сеанса на сервере 1С:Предприятия
В клиент-серверном варианте за соединения отвечает кластер серверов . Даже когда клиент на рабочем месте закрылся, на сервере может остаться «повисший» сеанс — он мешает обновлению, выгрузке базы или входу в монопольном режиме.
Снять сеанс можно двумя инструментами.
Через консоль администрирования серверов
Это оснастка «Администрирование серверов 1С Предприятия» на машине с установленным сервером.
- Раскройте ветку:
Central 1C:Enterprise 8.3 servers→ ваш центральный сервер →Кластеры→ имя кластера. - Откройте узел «Сеансы».
- Найдите нужный сеанс по колонке «Пользователь» и имени компьютера.
- Правой кнопкой → «Удалить».
Если консоль не открывается и выдаёт ошибку создания компонента, помогает перерегистрация её библиотеки: regsvr32 radmin.dll из каталога bin установленной платформы (запускать от администратора).
Через утилиту rac из командной строки
rac — консольная программа администрирования, лежит в каталоге bin платформы. Она удобна, когда графическая консоль не установлена, или для скриптов.
rac cluster list
rac session list --cluster=<идентификатор кластера>
rac session terminate --cluster=<идентификатор кластера> --session=<идентификатор сеанса>
Сначала cluster list покажет идентификатор кластера, затем session list — список сеансов с их идентификаторами, и только потом завершаете нужный. Полный перечень команд и параметров — в rac help и rac session help; не угадывайте параметры, которых нет в справке.
Удаление сеанса на сервере прерывает работу пользователя так же жёстко, как снятие процесса: его несохранённые данные теряются. Делайте это, только если человек ушёл и сеанс действительно висит, либо предупредив его заранее.
💡 Чтобы закрыть доступ всем сразу (например, перед обновлением), не снимайте сеансы по одному, а включите в свойствах базы блокировку начала сеансов — тогда новые входы запрещаются, а работающие пользователи сами закончат.
Отдельный случай — конфигуратор. Он держит сеанс так же, как обычный клиент, и для операций со структурой базы (обновление конфигурации
базы данных, загрузка .dt, тестирование и исправление) ему нужен монопольный доступ. Если конфигуратор не получает его, он сообщит, что база занята, и назовёт мешающие сеансы. Закройте их описанным выше способом — и повторите операцию; снимать сам конфигуратор через диспетчер задач во время выгрузки или обновления нельзя, иначе процедура оборвётся на полпути.
Как закрыть файловую базу 1С
В файловом режиме сервера нет: база — это каталог с файлом 1Cv8.1CD, а признак занятости хранится в файле блокировки 1Cv8.1CL в том же каталоге.
При штатном закрытии последнего клиента файл блокировки снимается сам, и база снова свободна. Проблема возникает, когда клиент сняли через диспетчер задач: блокировка иногда остаётся, и при следующем входе 1С сообщает, что база уже используется.
Что делать:
- Убедитесь, что по этой базе действительно никто не работает — проверьте все компьютеры, с которых к каталогу есть доступ.
- Закройте все процессы
1cv8.exeи1cv8c.exe, которые держат базу. - Если после этого вход всё равно блокируется — можно удалить файл
1Cv8.1CLиз каталога базы вручную.
Удалять 1Cv8.1CL допустимо, только когда вы уверены, что базу никто не открыл. Если удалить блокировку при активном сеансе, два пользователя будут писать в один файл одновременно — это прямой путь к порче базы. Перед такими операциями сделайте резервную копию каталога.
Если после аварийного закрытия база просит тестирование и исправление, запустите её через конфигуратор, меню «Администрирование» → «Тестирование и исправление», с установленным флагом проверки логической и ссылочной целостности.
Закрытие 1С на терминальном сервере (RDP)
На терминальном сервере несколько пользователей работают в своих RDP-сеансах, и у каждого свой процесс 1cv8c.exe. Закрыть чужую 1С «за пользователя» администратор может, но аккуратно.
Варианты для администратора:
- Точечно — через диспетчер задач. На вкладке «Пользователи» виден список сеансов RDP; раскрыв сеанс, можно снять именно его процесс 1С, не трогая остальных.
- Из командной строки — список и завершение RDP-сеансов. Команда
quser(илиqwinsta) показывает активные сеансы и их идентификаторы, аlogoff <идентификатор сеанса>завершает сеанс пользователя целиком вместе с его 1С.
logoff закрывает весь рабочий стол пользователя, а не только 1С: все его открытые программы завершатся. Применяйте к сеансам, которые висят в состоянии «отключён», либо предупредив пользователя.
Распространённая ошибка на терминальном сервере — пользователь не завершает сеанс, а просто закрывает окно RDP. Сеанс и его 1С продолжают висеть в фоне. Настройте в политиках сервера автоматическое завершение отключённых сеансов по таймауту — это снимает большую часть «зависших» клиентов без ручного вмешательства.
Если 1С опубликована как отдельное приложение RemoteApp, пользователь видит только окно программы без рабочего стола. Закрытие окна RemoteApp завершает сеанс не всегда — он тоже может уйти в состояние «отключён». Поэтому и для RemoteApp таймаут на отключённые сеансы так же важен, как для полного рабочего стола.
Автоматическое закрытие 1С для администраторов
Иногда 1С нужно гарантированно закрыть у всех — перед ночным обновлением, выгрузкой .dt или обслуживанием сервера. Делать это руками по каждому рабочему месту долго, поэтому задачу автоматизируют.
Инструменты, которыми пользуются администраторы:
- Блокировка начала сеансов в свойствах информационной базы (через консоль сервера или
rac infobase update). Это самый мягкий способ: новые входы запрещаются, можно задать текст сообщения пользователям. Для планового окна обслуживания — основной вариант. - Принудительное снятие клиентов на рабочих местах командой
taskkill. Например,taskkill /IM 1cv8c.exe /Fзавершает все тонкие клиенты на машине. Запускают по расписанию планировщиком Windows или через групповые политики. - Снятие сеансов на сервере скриптом на базе
rac— переборомrac session listиrac session terminateдля нужной базы.
taskkill с ключом /F закрывает клиент без сохранения — это аварийное завершение для всех, к кому оно применится. Ставьте такое закрытие на время, когда работы заведомо нет (глубокая ночь), и после блокировки начала сеансов, чтобы люди успели выйти сами.
Чек-лист перед плановым закрытием базы для всех:
Останавливать службу «Агент сервера 1С:Предприятия» (ragent.exe) целиком ради закрытия одной базы не нужно и опасно: это оборвёт сеансы всех баз кластера. Останавливайте службу только при обслуживании самого сервера.
Частые вопросы о закрытии 1С
Потеряются ли проведённые документы, если снять 1С через диспетчер задач?
Почему после закрытия 1С пишет, что база занята, хотя программа не запущена?
1Cv8.1CL либо «мёртвый» сеанс на сервере. Снимите сеанс через консоль сервера или удалите файл блокировки, предварительно убедившись, что никто не работает.Можно ли закрыть чужой сеанс, не подходя к компьютеру пользователя?
rac session terminate. На терминальном сервере — снять процесс на вкладке «Пользователи» диспетчера задач или завершить RDP-сеанс командой logoff.Как закрыть доступ к базе всем сразу перед обновлением?
Чем безопасно закрыть зависшую файловую базу?
1cv8c.exe через диспетчер задач, затем, если вход блокируется, удалите 1Cv8.1CL из каталога базы. Перед удалением сделайте резервную копию каталога.