Выход из 1С:Предприятия без потери данных и зависших сеансов
Содержание
Чтобы выключить программу 1С, откройте главное меню (кнопка с тремя полосками в левом верхнем углу окна) и выберите Файл → Выход или просто закройте окно крестиком либо Alt+F4. Программа сама допишет данные, спросит про несохранённые документы и освободит лицензию.
Остальные способы нужны, когда штатный выход не сработал или выключить 1С надо сразу у всех. Пользователь закрывает свою программу сам. Администратор завершает чужие сеансы в консоли кластера или блокирует вход. Диспетчер задач и taskkill — последнее средство, когда окно зависло намертво.
| Способ | Когда выбирают | Риск |
|---|---|---|
Файл → Выход, крестик, Alt+F4 | Обычное завершение работы | Нет |
| Блокировка работы пользователей в программе | Регламент, обновление, нужно выгнать всех вежливо | Минимальный: люди получают предупреждение |
| Удаление сеанса в консоли кластера | Сеанс завис, пользователь недоступен | Несохранённые правки этого сеанса пропадут |
rac session terminate | То же, но из скрипта или по расписанию | Как у консоли |
Диспетчер задач, taskkill | Окно не отвечает | Потеря несохранённых данных, «висящий» сеанс на сервере |
| Остановка службы сервера 1С | Обслуживание сервера | Обрываются все сеансы всех баз кластера |
Обычный выход из программы 1С
В интерфейсе «Такси» есть три равноценных пути:
- Главное меню →
Файл → Выход. - Крестик в правом верхнем углу главного окна.
- Сочетание
Alt+F4, когда активно главное окно.
Если открыты изменённые, но не записанные документы, 1С спросит, сохранять ли их. Нажмите «Да», и документ запишется. «Нет» — правки пропадут, «Отмена» — программа останется открытой.
Во многих типовых конфигурациях при выходе появляется вопрос «Завершить работу с программой?». Отключить его можно в персональных настройках пользователя: там есть флажок запроса подтверждения при завершении программы.
Закрытие отдельной вкладки или формы документа программу не выключает. Выход происходит, только когда закрыто главное окно.
Если окно закрылось, а процесс остался
Иногда после выхода значок 1С пропадает с панели задач, а процесс 1cv8c.exe (тонкий клиент) или 1cv8.exe (толстый клиент и Конфигуратор) ещё 10–30 секунд висит в диспетчере задач. Обычно это дописываются настройки пользователя и закрывается соединение. Подождите минуту, прежде чем считать процесс зависшим.
Как выключить 1С у всех пользователей через консоль кластера
В клиент-серверном варианте каждый запуск программы — это сеанс на сервере 1С. Если пользователь ушёл домой с открытой базой или его компьютер завис, сеанс продолжает занимать лицензию и мешает регламентным операциям.
Завершить чужие сеансы можно в оснастке «Администрирование серверов 1С:Предприятия»:
- Запустите консоль и подключитесь к центральному серверу (агент слушает порт 1540).
- Раскройте
Кластеры → <ваш кластер> → Информационные базы → <база> → Сеансы. - В списке видны пользователь, компьютер, приложение (тонкий клиент, Конфигуратор, фоновое задание) и время начала.
- Выделите нужные сеансы, щелкните правой кнопкой и выберите «Удалить».
Пользователь увидит сообщение о том, что сеанс завершён администратором. Всё, что он не успел записать, пропадёт.
Перед удалением сеансов предупредите людей заранее: в чат, письмом или через блокировку с сообщением (раздел ниже). Удалённый сеанс — это оборванная работа, а не вежливое закрытие программы.
Кроме сеансов, в той же ветке есть «Соединения». Удалять соединения вместо сеансов не нужно: сеанс после этого может переподключиться. Работайте с сеансами.
Фоновые и регламентные задания
В списке сеансов встречаются строки с приложением «Фоновое задание». Это обмены, загрузка курсов, полнотекстовый индекс. Если удалить такой сеанс, задание запустится снова по расписанию. Чтобы оно не стартовало во время обслуживания, в свойствах информационной базы в консоли включите флажок «Блокировка регламентных заданий включена».
Блокировка входа и монопольный режим
Удалить сеансы мало: через минуту пользователи зайдут снова. Поэтому перед обновлением сначала закрывают вход, потом выгоняют оставшихся.
Блокировка средствами самой программы
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) есть форма «Блокировка работы пользователей». Она находится в разделе Администрирование, в группе «Обслуживание» или «Поддержка и обслуживание» в зависимости от конфигурации.
В форме задают:
- 🕒 время начала и окончания блокировки;
- 💬 сообщение, которое увидят пользователи;
- 🔑 код разрешения — с ним администратор сможет войти при включённой блокировке.
После установки блокировки пользователи получают предупреждение, а работающие сеансы закрываются автоматически по истечении отведённого времени. Это самый мягкий способ выключить 1С у всех.
Блокировка в консоли кластера
То же самое можно сделать без входа в базу. Откройте свойства информационной базы в консоли и заполните:
- флажок «Блокировка начала сеансов включена»;
- начало и конец блокировки;
- сообщение о блокировке;
- код разрешения.
Чтобы войти в заблокированную базу, добавьте к строке запуска параметр /UC<код>, например /UCmaint2026.
Когда на самом деле нужен монопольный режим
Монопольный доступ к базе нужен не всегда. Он требуется для обновления структуры базы данных при изменении конфигурации, загрузки информационной базы из .dt, а также для тестирования и исправления. Для обычного редактирования конфигурации или выгрузки .dt выгонять пользователей не нужно.
Если монопольный режим требуется, а в базе есть хотя бы один чужой сеанс (включая фоновое задание), Конфигуратор выдаст ошибку. Порядок такой: блокировка входа и регламентных заданий → удаление оставшихся сеансов → операция → снятие блокировки.
Не забудьте снять блокировку после работ — иначе утром никто не войдёт.
Файловая база и сервер: в чём разница при выключении
| Что | Файловый вариант | Клиент-серверный вариант |
|---|---|---|
| Где живёт сеанс | В процессе клиента на компьютере пользователя | На сервере 1С (рабочий процесс rphost) |
| Как увидеть, кто в базе | Только в самой 1С: список активных пользователей | Консоль кластера или rac session list |
| Как выгнать пользователя | Блокировка в программе либо закрыть 1С на его компьютере | Удалить сеанс в консоли |
| Что будет при обрыве | Риск повредить файл 1Cv8.1CD | Сеанс на сервере закроется по таймауту |
В файловой базе нет консоли кластера. Посмотреть активных пользователей
можно внутри программы: в БСП-конфигурациях список «Активные пользователи» открывается из раздела Администрирование, а в Конфигураторе — через Администрирование → Активные пользователи.
Если база лежит в сетевой папке, а 1С у кого-то зависла, выход один: закрыть программу на его компьютере, удалённо или попросив коллегу. Удалять какие-либо служебные файлы из каталога базы, пока там работают, нельзя.
Жёсткое выключение компьютера или обрыв сети во время записи в файловую базу — главная причина её повреждения. Перед выключением ПК всегда закрывайте 1С штатно.
Принудительно закрыть 1С через диспетчер задач и taskkill
Когда окно «Не отвечает» больше 5–10 минут, а курсор крутится, программу можно закрыть принудительно. Сначала убедитесь, что 1С не выполняет долгую операцию: закрытие месяца , свёртку, загрузку данных. Такие операции идут десятки минут, и прерывать их нежелательно.
Процессы клиента 1С:
| Процесс | Что это |
|---|---|
1cv8c.exe | Тонкий клиент |
1cv8.exe | Толстый клиент и Конфигуратор |
1cv8s.exe, 1cestart.exe | Программа запуска (окно выбора базы) |
Через диспетчер задач: Ctrl+Shift+Esc → вкладка «Подробности» → найдите процесс → «Снять задачу».
Из командной строки:
:: закрыть все тонкие клиенты текущего пользователя
taskkill /IM 1cv8c.exe /F
:: закрыть конкретный процесс по PID (PID видно в диспетчере задач)
taskkill /PID 12345 /F
На терминальном сервере taskkill /IM от администратора закроет 1С у всех пользователей сразу. Чтобы закрыть только у одного, добавьте фильтр: taskkill /IM 1cv8c.exe /FI "USERNAME eq ivanov" /F.
После убийства процесса в клиент-серверной базе сеанс на сервере может остаться «висеть» и держать лицензию. Удалите его в консоли кластера.
Остановка сервера 1С
Иногда завис сам сервер и консоль не отвечает. Тогда перезапускают службу агента сервера 1С:Предприятия в services.msc (имя вида «1C:Enterprise 8.3 Server Agent»). Вместе с ней завершаются процессы ragent, rmngr и rphost.
Перезапуск службы обрывает все сеансы во всех базах кластера. Делайте это вне рабочего времени или после предупреждения пользователей.
Скрипты: автоматическое завершение сеансов перед регламентом
Для ночного бэкапа или обновления удобно выгонять пользователей скриптом. Для этого используется утилита rac, которая работает через сервер администрирования ras (по умолчанию порт 1545). Служба ras должна быть запущена на сервере.
Основные команды:
rac cluster list
rac infobase summary list --cluster=<id_кластера>
rac session list --cluster=<id_кластера> --infobase=<id_базы>
rac session terminate --cluster=<id_кластера> --session=<id_сеанса>
Пример на PowerShell: находит базу по имени и завершает все её сеансы.
$rac = "C:\Program Files\1cv8\8.3.24.1548\bin\rac.exe"
$base = "buh"
$cluster = ((& $rac cluster list | Select-String '^cluster\s*:') |
Select-Object -First 1).ToString().Split(':')[1].Trim()
# список баз выводится блоками: строка infobase, затем name
$lines = & $rac infobase summary list --cluster=$cluster
$ibId = $null
for ($i = 0; $i -lt $lines.Count; $i++) {
if ($lines[$i] -match '^infobase\s*:\s*(\S+)') { $current = $Matches[1] }
if ($lines[$i] -match '^name\s*:\s*(.+)$' -and $Matches[1].Trim() -eq $base) {
$ibId = $current
}
}
if (-not $ibId) { Write-Host "База $base не найдена"; exit 1 }
& $rac session list --cluster=$cluster --infobase=$ibId |
Select-String '^session\s*:' | ForEach-Object {
$sid = $_.ToString().Split(':')[1].Trim()
& $rac session terminate --cluster=$cluster --session=$sid
Write-Host "Завершён сеанс $sid"
}
Путь к rac.exe замените на свою версию платформы. Если на кластере задан администратор, добавьте --cluster-user и --cluster-pwd.
Перед удалением сеансов логично включить блокировку входа той же утилитой: rac infobase update с параметрами --sessions-deny=on и --scheduled-jobs-deny=on. Для этой команды нужны логин и пароль пользователя базы (--infobase-user, --infobase-pwd). Полный список параметров смотрите в rac help infobase.
В БСП-конфигурациях есть ещё вариант без rac: запуск с параметром /C"ЗавершитьРаботуПользователей" включает блокировку и выгоняет пользователей средствами самой программы, а /C"РазрешитьРаботуПользователей" снимает её.
Запускайте скрипт из планировщика заданий Windows под учётной записью, у которой есть доступ к ras. Пишите вывод в лог-файл, чтобы утром было видно, что сработало.
Ошибки при завершении работы 1С и что с ними делать
Как не допускать зависших сеансов
- ✅ Приучите пользователей закрывать 1С в конце дня, а не только блокировать компьютер.
- ✅ Включите в программе блокировку работы пользователей на время регламента, а не выгоняйте людей вручную.
- ✅ Перед ночными заданиями включайте «Блокировку регламентных заданий», чтобы обмен не мешал бэкапу.
- ✅ Добавьте каталоги баз и временных файлов 1С в исключения антивируса — это снимает часть зависаний при выходе.
- ✅ На терминальном сервере настройте завершение отключённых RDP-сессий через групповые политики. Иначе 1С неделями живёт в брошенной сессии.
- ✅ Раз в неделю смотрите список сеансов в консоли: сеансы с началом в прошлые дни — кандидаты на удаление.
Частые вопросы
Освобождается ли лицензия, если просто закрыть крестиком?
Файл → Выход. Лицензия освобождается сразу после завершения сеанса.Можно ли выключить компьютер, не закрывая 1С?
Как узнать, кто сейчас работает в базе?
Администрирование.Почему после удаления сеанса пользователь снова в базе?
Можно ли настроить автоматическое отключение неактивных пользователей?
rac session terminate или блокировкой работы пользователей по расписанию.