Выход из 1С:Предприятия 8.3 без зависших сеансов и потерянных данных
Содержание
Правильно закрыть 1С 8.3 — значит выйти через главное меню Файл → Выход или нажать Alt+F4 в окне программы, предварительно записав открытые документы. Тогда платформа сама завершит сеанс, освободит лицензию и снимет блокировки. Крестик в углу окна работает так же, а вот снятие процесса в диспетчере задач, закрытие вкладки браузера или обрыв RDP-сеанса оставляют «хвосты».
Способ зависит от ситуации. Пользователь выходит из программы штатно. Администратор завершает чужие сеансы через консоль кластера, утилиту rac или блокировку в самой базе. Принудительное снятие процессов — крайняя мера, когда остальное не сработало.
Как выйти из 1С 8.3 штатно: порядок для пользователя
Штатный выход одинаков для файловой и клиент-серверной базы. Отличается только то, что происходит «за кадром»: в клиент-серверном варианте сеанс живёт на сервере, и его корректное закрытие особенно важно.
- Запишите или проведите открытые документы. Если форма изменена, при закрытии появится вопрос
Данные были изменены. Сохранить изменения?— ответьте осознанно, а не по привычке «Нет». - Дождитесь окончания длительных операций: формирования отчёта, закрытия месяца, загрузки выписки. Пока в строке состояния идёт процесс, не закрывайте окно.
- Откройте главное меню (кнопка с тремя полосками в левом верхнем углу интерфейса «Такси») и выберите
Файл → Выход. Альтернатива —Alt+F4или крестик окна. - Если включено подтверждение, нажмите
Дав вопросе о завершении работы.
Запрос подтверждения при закрытии включается в Сервис и настройки → Параметры: флажок «Запрашивать подтверждение при закрытии программы». Полезно тем, кто часто промахивается мышью мимо крестика.
Где выход «не настоящий»
Есть три сценария, в которых окно пропадает, а сеанс остаётся:
- 🌐 Веб-клиент. Закрытие вкладки браузера не всегда сразу завершает сеанс на сервере. Лицензия может оставаться занятой, пока сеанс не отвалится по таймауту. Выходите через
Файл → Выходвнутри веб-клиента. - 🖥️ Удалённый рабочий стол (RDP). Крестик окна RDP только отключает вас от сервера. 1С продолжает работать в вашем сеансе Windows и держит лицензию. Сначала закройте 1С, затем выйдите из Windows через
Пуск → Выход. - 💤 Спящий компьютер. Если ноутбук ушёл в сон с открытой серверной базой, сеанс на сервере может висеть до таймаута. После пробуждения программа часто показывает ошибку соединения — закройте её и зайдите заново.
Конфигуратор закрывайте отдельно
Открытый Конфигуратор — такой же сеанс, как у пользователя, и он тоже мешает обновлению базы. Частая история: программист вечером «просто посмотреть» открыл Конфигуратор, ушёл домой, а ночное обновление не прошло.
- 💾 Перед выходом сохраните изменения конфигурации или откажитесь от них явно — при закрытии Конфигуратор сам спросит про несохранённые изменения.
- 🔓 Если брали объекты в хранилище конфигурации, верните их или оставьте захваченными осознанно: захват сохраняется и после выхода.
- 🚪 Выходите через
Файл → Выход, а не снятием процесса, особенно во время обновления конфигурации базы данных.
Завершение сеансов в консоли администрирования сервера 1С
Когда нужно закрыть 1С у другого пользователя в клиент-серверной базе, проще всего воспользоваться оснасткой «Администрирование серверов 1С:Предприятия». Консоль подключается к агенту сервера (порт 1540) и видит все сеансы кластера.
Пошагово
- Запустите консоль и раскройте дерево:
Центральные серверы 1С:Предприятия → <имя сервера> → Кластеры → <кластер> → Информационные базы → <база> → Сеансы. - Справа появится таблица сеансов: пользователь, компьютер, приложение (тонкий клиент, конфигуратор, фоновое задание), время начала и последней активности.
- Найдите нужную строку. Ориентируйтесь на колонку компьютера и время активности, а не только на имя пользователя: под одним логином бывает несколько сеансов.
- Щёлкните правой кнопкой и выберите
Удалить. Подтвердите действие.
Удаление сеанса обрывает работу пользователя без сохранения: незаписанные изменения в открытых формах пропадут. Предупредите человека заранее или делайте это, когда он точно отошёл.
Не удаляйте сеансы с приложением «Фоновое задание», если не понимаете, что это за задание. Прерванный обмен данными или пересчёт итогов придётся запускать заново, а иногда и разбирать частично записанные данные.
Если консоль не открывается
Типичная причина — оснастка не зарегистрирована после установки или обновления платформы. Зарегистрируйте библиотеку консоли из каталога bin нужной версии, запустив командную строку от имени администратора:
cd "C:\Program Files\1cv8\8.3.24.1586\bin"
regsvr32 radmin.dll
Номер версии в пути подставьте свой. Для 64-битной платформы регистрируйте radmin.dll из 64-битного каталога, для 32-битной — из Program Files (x86).
Закрытие 1С из командной строки: rac, ключи запуска, taskkill
Командная строка нужна, когда сеансы надо закрывать по расписанию (например, перед ночным обновлением) или на сервере без графической консоли.
Утилита rac
rac работает через сервер администрирования RAS (по умолчанию порт 1545). Служба RAS должна быть запущена на сервере 1С. Базовая последовательность:
rem 1. Узнать идентификатор кластера
rac cluster list
rem 2. Список сеансов кластера
rac session list --cluster=<uuid-кластера>
rem 3. Завершить конкретный сеанс
rac session terminate --cluster=<uuid-кластера> --session=<uuid-сеанса>
Если на кластере задан администратор, к командам добавьте --cluster-user=<имя> --cluster-pwd=<пароль>. Полный список параметров для вашей версии выведет rac help session.
Ключи запуска 1cv8.exe с БСП
Большинство типовых конфигураций (БП 3.0, ЗУП 3.1, УТ 11) построены на Библиотеке стандартных подсистем. В ней есть параметры запуска, которые блокируют базу и выгоняют пользователей:
Параметр /C | Что делает |
|---|---|
ЗавершитьРаботуПользователей | Включает блокировку и завершает сеансы пользователей |
РазрешитьРаботуПользователей | Снимает блокировку, пользователи снова могут входить |
Пример для серверной базы:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh" /N"Администратор" /P"пароль" /C"ЗавершитьРаботуПользователей" /UC"12345"
Ключ /UC задаёт код разрешения: с ним администратор сможет войти в заблокированную базу, а остальные — нет. Пароль в bat-файле хранится открытым текстом, поэтому такой файл держите в каталоге с ограниченным доступом.
taskkill — только для процессов клиента
На компьютере пользователя зависший клиент снимают так:
taskkill /IM 1cv8c.exe /F
taskkill /IM 1cv8.exe /F
1cv8c.exe — тонкий клиент, 1cv8.exe — толстый клиент и конфигуратор. Ключ /F закрывает принудительно, без сохранения. Сеанс на сервере после этого может ещё какое-то время числиться активным — тогда удалите его в консоли.
Зависшие процессы 1С: как найти и снять
Зависание выглядит по-разному, и лечится тоже по-разному. Главное правило — сначала понять, что именно висит: окно клиента, сеанс на сервере или серверный процесс.
Где посмотреть активных пользователей изнутри базы
В типовых конфигурациях на БСП список открывается из раздела Администрирование → Обслуживание по ссылке «Активные пользователи». Там же есть команда завершения выбранного сеанса. Для клиент-серверной базы программа попросит параметры администрирования кластера — это логин и пароль администратора кластера, а не пользователя 1С.
Второй путь, если меню урезано: Функции для технического специалиста → Стандартные → Активные пользователи. Пункт доступен, когда в Сервис и настройки → Параметры включено отображение команды «Функции для технического специалиста».
Серверные процессы
На сервере 1С работают ragent.exe (агент), rmngr.exe (менеджер кластера) и rphost.exe (рабочие процессы). Иногда один rphost.exe съедает всю память и база перестаёт отвечать.
Снятие rphost.exe или перезапуск службы агента обрывает сеансы ВСЕХ пользователей, которых обслуживал этот процесс. Делайте это после предупреждения, лучше вне рабочего времени. Перезапуск службы — через services.msc, служба «Агент сервера 1С:Предприятия 8.3».
Перед перезапуском запишите, какие базы и сеансы были на проблемном процессе: в консоли кластера это видно в разделе Рабочие процессы. Так проще потом разобраться, какая операция его «раздула».
Как закрыть все сеансы перед обновлением конфигурации
Для обновления структуры базы нужен монопольный доступ. Пока в базе есть хоть один сеанс — пользователь, фоновое задание, открытый конфигуратор коллеги — обновление не применится. Закрывать сеансы по одному неудобно и ненадёжно: за это время зайдёт кто-нибудь ещё.
Через блокировку в самой базе
В БП 3.0, ЗУП 3.1, УТ 11: Администрирование → Обслуживание → Блокировка работы пользователей.
- Укажите текст сообщения, например «Обновление программы с 19:00 до 20:00».
- Задайте время начала и окончания блокировки.
- Укажите код разрешения — его потом вводят в параметре
/UC, чтобы войти самому. - Нажмите
Установить блокировку.
Пользователи получат предупреждение и через несколько минут будут отключены автоматически. Сеансы без активности завершаются сами.
Через свойства базы в консоли кластера
Откройте свойства информационной базы в консоли и включите:
- 🔒 «Блокировка начала сеансов включена» — новые подключения запрещены; можно задать сообщение и код разрешения;
- ⏸️ «Блокировка регламентных заданий включена» — фоновые обмены и загрузки не стартуют и не мешают обновлению.
После этого удалите оставшиеся сеансы, обновите конфигурацию и не забудьте снять обе блокировки. Забытая блокировка регламентных заданий — частая причина того, что через неделю «перестал работать обмен».
Аварийное завершение 1С и что делать после
Аварийным считается любое закрытие, при котором платформа не успела завершить сеанс сама: выключили свет, сняли процесс, упал сервер, пропала сеть.
Что проверить сразу
- Последние документы. Откройте журнал документов , отсортированный по дате, и проверьте, записался ли документ, с которым работали перед сбоем. Незаписанные данные не восстановить.
- Длительные операции. Если обрыв пришёлся на закрытие месяца , перепроведение или загрузку, запустите операцию заново целиком.
- Висящие сеансы. Удалите сеанс «погибшего» клиента в консоли кластера, иначе он держит лицензию.
Файловая база: тестирование и исправление
Файловая база хранится в одном файле 1Cv8.1CD, и при аварийном закрытии она уязвимее серверной. Если после сбоя появились ошибки при чтении данных:
- Закройте все сеансы и скопируйте весь каталог базы в другое место.
- Запустите Конфигуратор и выберите
Администрирование → Тестирование и исправление. - Для начала отметьте только проверку логической целостности, без исправления, и посмотрите результат.
Для сильно повреждённой файловой базы есть утилита chdbfl.exe в каталоге bin платформы. Она работает с файлом напрямую, без запуска 1С. Запускайте её только на копии.
После аварии клиент иногда «помнит» сломанное состояние: формы открываются криво, команды пропадают. Помогает запуск с ключом /ClearCache — он очищает локальный кэш метаданных клиента и данные базы не затрагивает.
Клиент-серверная база
Здесь целостность обеспечивает СУБД, поэтому база после обрыва клиента обычно в порядке. Проблемы бывают, если упал сам сервер 1С или СУБД. Тогда сначала убедитесь, что служба агента и СУБД запущены, затем проверьте журнал регистрации базы на ошибки за время сбоя.