К статье
Практический материал

Администрирование · 9 мин

Как завершить работу программы 1С

Способы корректного завершения работы 1С: штатный выход, закрытие зависшего сеанса, команда ЗавершитьРаботуСистемы, отключение пользователей на сервере.

Корректное завершение работы 1С — не формальность: при штатном выходе программа сохраняет настройки интерфейса, завершает фоновые задания, снимает блокировки объектов и фиксирует сеанс в журнале регистрации. Аварийное же закрытие через диспетчер задач может оставить «висящие» сеансы, заблокированные документы и несохранённые данные, с которыми потом придётся разбираться администратору.

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

Штатный выход пользователя из 1С

Самый простой и безопасный способ — закрыть программу через интерфейс. В тонком клиенте и веб-клиенте используется пункт главного меню «Файл → Выход» или стандартная кнопка закрытия окна (крестик). Если есть несохранённые изменения в открытых документах, 1С выведет диалог с предложением записать данные или отменить выход.

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

Обратите внимание: закрытие отдельной формы документа или отчёта не завершает работу программы — сеанс продолжает занимать лицензию. Полный выход происходит только при закрытии главного окна клиентского приложения.

Завершение работы в файловом и клиент-серверном режимах

В файловом режиме (база лежит в общей папке) при выходе последнего пользователя файл базы освобождается полностью. Если кто-то не вышел из программы, база остаётся открытой: монопольные операции (например, тестирование и исправление, загрузка конфигурации) будут недоступны. Проверить, кто ещё работает, можно через пункт «Администрирование → Обслуживание → Активные пользователи» (в типовых конфигурациях).

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

Что делать, если 1С зависла

Прежде чем снимать задачу, убедитесь, что программа действительно зависла, а не выполняет длительную операцию: проведение большого документа, формирование тяжёлого отчёта или обновление могут «подвешивать» интерфейс на несколько минут. Признак настоящего зависания — отсутствие реакции более 5–10 минут при нулевой загрузке процессора.

Если зависание подтверждено, завершите процесс через диспетчер задач Windows: нажмите Ctrl+Shift+Esc, найдите процесс 1cv8.exe (или 1cv8c.exe для тонкого клиента) и выберите «Снять задачу». Несохранённые данные открытых документов будут потеряны, но уже записанные в базу объекты не пострадают.

Порядок действий при зависании
  1. 1
    Подождите 3–5 минут и проверьте загрузку процессора в диспетчере задач
  2. 2
    Если процессор занят — операция выполняется, дождитесь завершения
  3. 3
    Если активности нет — откройте диспетчер задач (Ctrl+Shift+Esc)
  4. 4
    Найдите процесс 1cv8.exe и нажмите «Снять задачу»
  5. 5
    Перезапустите 1С и проверьте, нет ли заблокированных объектов

Как администратору завершить чужой сеанс

В клиент-серверном варианте администратор завершает сеансы через консоль кластера серверов 1С: откройте ветку нужного кластера, перейдите в раздел «Сеансы», найдите пользователя и выполните команду «Удалить». Сеанс завершится принудительно — пользователь получит сообщение о разрыве соединения.

Более мягкий вариант в типовых конфигурациях — обработка «Активные пользователи» (раздел «Администрирование → Обслуживание»). Через неё можно увидеть список сеансов, отправить пользователям сообщение с просьбой выйти и установить блокировку входа в базу, а затем завершить оставшиеся сеансы. Это стандартный сценарий подготовки к обновлению или регламентным работам.

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

Маршрут решения

Как выбрать способ завершения

Обычное завершение рабочего дняЗакройте программу через «Файл → Выход» или крестик окна
Клиент не отвечает, но процессор загруженДождитесь окончания операции, не снимайте задачу
Клиент завис без активностиЗавершите процесс 1cv8.exe через диспетчер задач
Нужно освободить базу для обновленияУстановите блокировку сеансов и завершите их через «Активные пользователи» или консоль кластера

Программное завершение работы из встроенного языка

Разработчикам доступен метод ЗавершитьРаботуСистемы(), который инициирует штатный выход из программы. Метод принимает параметры: запрос подтверждения у пользователя (по умолчанию включён) и признак завершения всех сеансов для толстого клиента. Вызов ЗавершитьРаботуСистемы(Ложь) закрывает программу без вопросов — это используют в регламентных сценариях, например для автоматического выхода после ночной выгрузки.

Для прерывания работы текущего сеанса без закрытия клиента применяется ПрекратитьРаботуСистемы() — он завершает сеанс немедленно и без сохранения настроек, поэтому его нельзя использовать как замену штатному выходу. Частая ошибка — путать эти два метода.

bsl
// Штатный выход без подтверждения
ЗавершитьРаботуСистемы(Ложь);

// Аварийное прекращение сеанса (настройки не сохранятся)
ПрекратитьРаботуСистемы();

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

Проверка результата и типичные ошибки

После завершения работы убедитесь, что сеанс действительно закрыт: в файловом режиме рядом с базой не должно остаться файла блокировок 1Cv8.1CL (он удаляется при выходе последнего пользователя), а в клиент-серверном — сеанс должен исчезнуть из списка в консоли кластера.

Типичные ошибки
01
Снятие задачи вместо штатного выхода — остаются зависшие сеансы и блокировки объектов
02
Закрытие только формы документа — сеанс продолжает занимать лицензию
03
Снятие процесса во время обновления базы — риск повреждения данных
04
Массовое отключение пользователей без предупреждения — потеря несохранённых данных у коллег
05
Использование ПрекратитьРаботуСистемы() вместо ЗавершитьРаботуСистемы() — потеря настроек интерфейса

Если после перезапуска 1С сообщает, что документ «заблокирован другим пользователем», хотя тот уже вышел, — это последствие аварийного завершения. Обычно блокировка снимается после таймаута сеанса на сервере; в файловом режиме помогает проверка, что у пользователя действительно закрыт процесс 1cv8.exe.

Итог

Что важно запомнить

Штатный выход через меню «Файл → Выход» сохраняет данные и освобождает лицензию. Зависший клиент сначала проверяют на активность, затем снимают через диспетчер задач. Чужие сеансы завершает администратор через консоль кластера или «Активных пользователей», предварительно предупредив коллег. Программно используется ЗавершитьРаботуСистемы(), а не ПрекратитьРаботуСистемы().

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

Почему после закрытия 1С лицензия остаётся занятой?

Чаще всего сеанс завис на сервере или процесс 1cv8.exe не завершился на компьютере. Проверьте диспетчер задач у пользователя и список сеансов в консоли кластера — лишний сеанс можно удалить вручную, либо он снимется по таймауту автоматически.

Чем отличается «Выход» от простого закрытия окна крестиком?

По сути ничем: закрытие главного окна клиента инициирует тот же штатный выход с сохранением настроек и завершением сеанса. Разница лишь в том, что через меню «Файл → Выход» это делается явно.

Можно ли настроить автоматическое завершение сеансов ночью?

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

Что будет с несохранённым документом при принудительном завершении сеанса?

Данные, введённые в открытую форму, но не записанные в базу, будут потеряны без возможности восстановления. Уже записанные объекты не пострадают — принудительное завершение не повреждает сами данные.

Как завершить работу всех пользователей перед обновлением базы?

Установите блокировку входа через «Активные пользователи» или консоль кластера, отправьте пользователям сообщение, подождите несколько минут и завершите оставшиеся сеансы принудительно. После этого база будет доступна в монопольном режиме.

Опасно ли выключать компьютер, не выходя из 1С?

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