Закрытие базы 1С: от выхода из программы до завершения сеансов на сервере

· 9 мин

Содержание

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

Ниже — все варианты закрытия базы в 1С 8.3 (платформа с интерфейсом «Такси»): от штатного выхода из программы до завершения работы на сервере и блокировки новых подключений. Разберём, когда какой способ уместен и чем рискует каждый.

Речь о платформе 8.3 в режиме «1С:Предприятие» и «Конфигуратор». Пути меню приведены для типовых конфигураций на «Библиотеке стандартных подсистем» — «1С:Бухгалтерия» 3.0, «ЗУП» 3.1, «Управление торговлей» 11.

Что именно нужно закрыть?

Зачем вообще закрывать базу правильно

В файловом варианте база — это каталог с файлом 1Cv8.1CD. Пока с ним работает хоть один клиент, файл занят. Грубое отключение (выдернули питание, сняли процесс в неудачный момент) может оставить базу в несогласованном состоянии: при следующем запуске 1С запустит проверку, а в худшем случае база не откроется и потребует тестирования и исправления через chdbfl.exe или Конфигуратор.

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

Монопольный доступ нужен не «вообще для работы», а для конкретных операций: обновления структуры базы (реструктуризации), загрузки .dt, тестирования и исправления. Для них все сеансы должны быть завершены. Отсюда и задача «закрыть базу у всех», которая у администратора возникает регулярно.

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

Штатный выход из программы

Самый обычный сценарий. Три равнозначных способа:

  1. Меню Файл → Выход (в «Такси» — кнопка главного меню в левом верхнем углу, значок с горизонтальными полосами).
  2. Крестик в правом верхнем углу окна программы.
  3. Сочетание Alt + F4.

Что происходит при выходе:

  • 🔸 Проведённые документы уже записаны в базу — они никуда не денутся.
  • 🔸 Если открыта форма с несохранёнными изменениями, 1С спросит, сохранять ли их.
  • 🔸 Непроведённый, но записанный документ останется черновиком в списке.

Отдельно закрыть «саму базу», оставив платформу запущенной, в 1С:Предприятии нельзя: одно окно = один сеанс одной базы. Чтобы переключиться на другую базу, нужно выйти и выбрать её в окне запуска.

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

Завершение сеансов пользователей администратором

Это и есть «закрыть базу для всех» — типовая задача перед обновлением релиза, загрузкой выгрузки или архивацией в монопольном режиме.

В типовых конфигурациях есть штатная обработка. Путь:

Администрирование → Обслуживание → Блокировка работы пользователей

В открывшейся форме:

  1. Задайте время начала блокировки (можно «прямо сейчас»).
  2. При желании укажите код разрешения — пароль, с которым сам администратор сможет зайти в заблокированную базу.
  3. Напишите текст сообщения, которое увидят пользователи.
  4. Нажмите кнопку завершения работы пользователей.

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

Посмотреть, кто ещё в базе, можно через список активных пользователей:

Администрирование → Обслуживание → Активные пользователи

либо через Главное меню → Все функции → Стандартные → Активные пользователи (пункт «Все функции» включается в настройках параметров, раздел для опытных пользователей).

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

Если штатной обработки нет

В нетиповой или сильно урезанной конфигурации обработки может не быть. Тогда блокировку начала сеансов задают на уровне информационной базы — в клиент-серверном варианте через консоль администрирования (см. ниже), в файловом — через Конфигуратор: Администрирование → Блокировка соединений с информационной базой.

Принудительное закрытие через «Диспетчер задач» Windows

Нужен, когда клиент завис: окно не отвечает, «крутится» бесконечно, штатный выход не срабатывает.

  1. Нажмите Ctrl + Shift + Esc — откроется «Диспетчер задач».
  2. На вкладке «Подробности» найдите процесс клиента:
    • 1cv8.exe — толстый клиент;
    • 1cv8c.exe — тонкий клиент.
  3. Выделите нужный процесс и нажмите «Снять задачу».

Снятие процесса = аварийное завершение. Несохранённые данные открытой формы потеряются. Проведённые ранее документы останутся в базе. Это крайняя мера, а не замена выходу.

Как понять, какой из нескольких процессов 1cv8c.exe закрывать, если открыто несколько баз: ориентируйтесь по столбцу «Имя пользователя» и по тому, какое окно не отвечает. В сомнительном случае лучше закрыть все клиенты 1С, чем снять чужой рабочий сеанс.

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

В файловой базе после снятия процесса при следующем входе 1С может запустить проверку базы — это нормально. Если база после этого не открывается, выполните тестирование и исправление через chdbfl.exe (файловая) или через Конфигуратор Администрирование → Тестирование и исправление.

Выход из Конфигуратора и веб-клиента

Способ выхода зависит от режима, в котором вы открыли базу.

  • 🔸 Конфигуратор. Закрывается так же — Файл → Выход или крестик. Но помните: пока открыт Конфигуратор, он держит сеанс, и этот сеанс мешает операциям, требующим монопольного доступа. Перед обновлением конфигурации закройте лишние окна Конфигуратора.
  • 🔸 Тонкий клиент. Штатный выход закрывает и соединение с сервером. Процесс — 1cv8c.exe.
  • 🔸 Веб-клиент. База открыта во вкладке браузера. Закрыть вкладку недостаточно: сеанс на сервере завершится не сразу, а по тайм-ауту (значение задаётся в настройках, обычно несколько минут). Корректнее нажать «Выход» внутри приложения, а не просто закрыть вкладку.

Если база открыта и в Предприятии, и в Конфигураторе одновременно, при попытке реструктуризации вы получите сообщение о захвате базы — закройте оба окна и повторите.

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

Закрытие базы на сервере 1С:Предприятия

В клиент-серверном варианте «закрыть базу» означает завершить сеансы на центральном сервере. Делается это администратором кластера.

Через консоль администрирования серверов

Откройте оснастку «Администрирование серверов 1С Предприятия». Путь внутри:

Центральные серверы 1С:Предприятия → <ваш сервер> → <кластер> → Информационные базы → <ваша база> → Сеансы

В списке сеансов выделите нужные (или все), вызовите контекстное меню правой кнопкой и удалите. Сеанс завершится на сервере принудительно.

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

Через утилиту rac (командная строка)

Если консоль не установлена, используйте rac из каталога bin платформы. Последовательность: получить идентификатор кластера, список сеансов, затем завершить нужный.

rac cluster list
rac session list --cluster=<uuid-кластера>
rac session terminate --cluster=<uuid-кластера> --session=<uuid-сеанса>

Точные параметры каждой команды смотрите в справке: rac help и rac session --help. Не угадывайте ключи — у разных версий платформы набор параметров отличается.

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

Остановку самой службы сервера (Агент сервера 1С:Предприятия) как способ «закрыть базу» использовать не нужно: она оборвёт сеансы сразу во всех базах кластера. Это допустимо только при плановом обслуживании всего сервера.

Закрытие и блокировка по расписанию

Регулярная задача: каждую ночь закрывать базу у всех, делать бэкап, утром открывать. Готовой кнопки «закрой базу в 23:00» в платформе нет, но автоматизировать это можно.

  • 🔸 Планировщик заданий Windows + rac. Создайте .bat, который командой rac ставит блокировку начала сеансов на информационную базу, и второй — который её снимает. Повесьте их на нужное время через «Планировщик заданий».
  • 🔸 Блокировка начала сеансов с интервалом. В свойствах базы (консоль администрирования) у блокировки есть время начала и окончания — можно задать окно, в которое вход запрещён.
  • 🔸 Регламентное задание в конфигурации. В некоторых решениях бэкап и обслуживание уже вынесены в регламентные задания — проверьте раздел обслуживания своей конфигурации.

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

Для надёжного ночного обслуживания файловой базы проще настроить резервное копирование штатным механизмом конфигурации (Администрирование → Обслуживание → Резервное копирование), а не городить закрытие базы скриптами.

Типичные ошибки при закрытии базы

Перед монопольными работами (обновление, загрузка .dt)
Выполнено: 0 / 5

Что идёт не так чаще всего:

  • «База открыта другим пользователем». Классика при попытке обновить конфигурацию или загрузить .dt. Значит, остался незавершённый сеанс. Проверьте список активных пользователей и завершите их; на сервере — удалите сеанс в консоли или через rac.
  • Забыли снять блокировку. После обновления пользователи не могут войти с сообщением о блокировке. Снимите её там же, где включали.
  • Сняли процесс в файловой базе в момент записи. Отсюда повреждения и долгие проверки при входе. Снимайте процесс только когда клиент действительно завис.
  • Остановили службу сервера, чтобы выгнать одного. Оборвали всех во всех базах кластера. Завершайте конкретный сеанс, а не службу.
  • Зашли в заблокированную базу и забыли код разрешения. Код задаёт тот, кто ставит блокировку. Если вход при активной блокировке нужен администратору, он запускает базу с параметром /UC <код разрешения>.

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

Можно ли закрыть одну базу, не выходя из 1С полностью?
Нет. В 1С:Предприятии одно окно соответствует одному сеансу одной базы. Чтобы перейти к другой базе, нужно выйти и выбрать её в окне запуска. Открыть вторую базу можно в отдельном новом окне — это будет отдельный сеанс.
Чем выход из программы отличается от завершения сеанса администратором?
Выход вы делаете за себя — закрываете свой сеанс. Завершение сеанса администратором закрывает чужие сеансы принудительно, обычно перед монопольными операциями. Пользователь при этом может потерять несохранённые данные, если не предупреждён.
Что будет с непроведёнными документами после закрытия базы?
Записанные, но непроведённые документы останутся черновиками в списке. Проведённые документы уже в базе. Потеряются только данные открытой формы, которые вы не успели записать — и только при аварийном снятии процесса.
Как узнать, кто ещё работает в базе?
Через список активных пользователей: Администрирование → Обслуживание → Активные пользователи. В клиент-серверном варианте — через раздел «Сеансы» в консоли администрирования или командой rac session list.
Нужно ли закрывать базу перед резервным копированием?
Для файловой базы — да, монопольно, иначе копия может оказаться несогласованной. В клиент-серверном варианте бэкап обычно делают средствами СУБД без выгона пользователей, но перед обновлением конфигурации монопольный доступ всё равно нужен.