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

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

Как обновить 1С, если пишет, что есть активные пользователи

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

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

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

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

Почему 1С блокирует обновление при активных сеансах

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

Активным считается не только явно открытое окно 1С. Сеанс держат фоновые задания, регламентные операции, подключения через COM-соединение, веб-сервисы, HTTP-сервисы, мобильные клиенты и сеансы отладчика. Нередко пользователь закрыл программу крестиком, но сеанс на сервере остался висеть ещё несколько минут до тайм-аута.

Файловая базаСеансы на компьютерах пользователей

Проверить процессы 1cv8.exe в диспетчере задач на всех ПК

Клиент-серверная базаСеансы в кластере серверов

Открыть консоль кластера и посмотреть список сеансов базы

Обновление не начинается долгоЗависшие или спящие сеансы

Подождать тайм-аут сеанса или завершить сеансы принудительно

Как найти и завершить сеансы в клиент-серверном варианте

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

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

Порядок действий в консоли кластера
  1. 1
    Откройте консоль «Администрирование серверов 1С Предприятия»
  2. 2
    Найдите нужную информационную базу в дереве кластера
  3. 3
    Перейдите на вкладку «Сеансы» и оцените список активных подключений
  4. 4
    Предупредите пользователей и дождитесь их выхода
  5. 5
    Удалите оставшиеся сеансы вручную
  6. 6
    В свойствах базы включите блокировку начала сеансов
  7. 7
    Запустите обновление конфигурации базы данных

Блокировка сеансов на время обновления

Чтобы пользователи не заходили в базу, пока идёт обновление, откройте свойства информационной базы в консоли кластера и установите флаг «Блокировка начала сеансов включена». Можно задать сообщение для пользователей и код разрешения — параметр /UC позволит администратору зайти в базу, несмотря на блокировку. После завершения обновления блокировку нужно снять, иначе утром никто не сможет войти в базу.

Что делать в файловом варианте базы

В файловом варианте централизованной консоли нет, поэтому сеансы завершаются на каждом компьютере. Попросите всех пользователей закрыть 1С, затем проверьте диспетчер задач на каждом ПК: процесс 1cv8.exe или 1cv8c.exe может остаться в памяти даже после закрытия окна. Завершите такие процессы через «Снять задачу».

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

Частый источник «невидимых» сеансов в файловой базе — программы обмена и интеграции: обработки на других ПК, которые периодически подключаются к базе, и планировщики заданий Windows, запускающие 1С в пакетном режиме. Перед обновлением остановите такие задания.
ПЗ
Практическое замечание

Как определить, кто именно занимает базу

Если база небольшая и нет доступа к консоли кластера, список пользователей можно посмотреть прямо из конфигуратора: меню «Администрирование» → «Активные пользователи». Откроется список сеансов с именами пользователей, компьютерами и временем входа. Из этого же окна можно отправить пользователям сообщение с просьбой выйти.

В типовых конфигурациях (Бухгалтерия, Зарплата и управление персоналом, Управление торговлей) есть штатный механизм завершения работы пользователей: «Администрирование» → «Обслуживание» → «Блокировка работы пользователей» (в некоторых версиях — «Завершение работы пользователей»). Он позволяет установить блокировку на заданное время и принудительно завершить сеансы с отсрочкой, чтобы пользователи успели сохранить данные.

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

Как выбрать действие

База клиент-серверная и есть доступ к консоли кластераЗавершите сеансы через консоль и включите блокировку начала сеансов
База файловая, пользователей немногоПопросите всех выйти, проверьте диспетчер задач и открытые файлы на сервере
Нет доступа к консоли, но есть типовая конфигурацияИспользуйте штатную блокировку работы пользователей в разделе «Администрирование»
Сеанс завис и не удаляетсяПерезапустите службу агента сервера 1С — это разрывает все подключения

Принудительные способы, когда сеансы не завершаются

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

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

bash
"C:\Program Files\1cv8\8.3.22.0000\bin\1cv8.exe" DESIGNER /F"D:\Bases\Trade" /NАдминистратор /P*** /UpdateDBCfg /DisableStartupDialogs

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

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

Если обновление прервалось на середине реструктуризации, не пытайтесь запускать его повторно «наугад» несколько раз подряд. Проверьте журнал регистрации и технологический журнал на предмет ошибок СУБД, убедитесь в наличии свободного места на диске с базой и только потом повторяйте попытку. При повторных сбоях восстановите базу из резервной копии и разбирайтесь с причиной отдельно.

Типичные ошибки
01
Завершение сеансов без предупреждения — пользователи теряют несохранённые документы и введённые данные
02
Обновление без резервной копии — при сбое реструктуризации базу придётся восстанавливать вручную
03
Забытая блокировка сеансов — после обновления сотрудники не могут войти в базу
04
Игнорирование фоновых заданий и COM-подключений — они пересоздают сеанс, и обновление снова блокируется
05
Перезапуск службы сервера в рабочее время — разрываются сеансы всех баз кластера, а не только обновляемой
Контрольные точки

Как проверить результат

Список сеансов в консоли кластера
Норма

Остался только сеанс обновления или список пуст

Тревожный признак

Сеансы появляются снова — работает обмен или фоновое задание

Окно обновления конфигурации
Норма

Реструктуризация завершена без ошибок

Тревожный признак

Ошибка монопольного доступа или обрыв на этапе реструктуризации

Вход в базу после обновления
Норма

Пользователи входят, данные открываются корректно

Тревожный признак

Ошибки при входе, не открываются формы документов

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

Сколько ждать, пока зависший сеанс закроется сам?

Зависший сеанс на сервере 1С завершается по тайм-ауту, который обычно составляет от нескольких минут до получаса в зависимости от настроек кластера. Если ждать некогда, проще удалить сеанс вручную через консоль кластера — это безопасно для базы, хотя несохранённые данные пользователя будут потеряны.

Можно ли обновить 1С без монопольного доступа?

Обновление конфигурации поставщика (загрузка .cf) возможно без монопольного доступа, но обновление конфигурации базы данных — нет. В клиент-серверном варианте часть изменений поддерживает фоновое обновление без прерывания работы, но финальный этап всё равно требует освобождения базы.

Пользователь вышел, а сеанс в консоли всё ещё висит. Почему?

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

Что делать, если обновление прервалось на реструктуризации?

Не перезапускайте обновление многократно. Проверьте свободное место на диске, журнал регистрации и сообщения СУБД. Если причина непонятна — восстановите базу из резервной копии, сделанной до обновления, и повторите процедуру после устранения причины сбоя.

Как обновлять базу ночью без участия пользователей?

Настройте пакетный сценарий: скрипт, который через консоль кластера или утилиту rac завершает сеансы, включает блокировку, запускает конфигуратор с ключом /UpdateDBCfg и снимает блокировку. Перед этим обязательно автоматическое создание резервной копии.

Опасно ли удалять сеансы через консоль кластера?

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

Итог

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

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