Администрирование · 10 мин
Как обновить 1С, если пишет, что есть активные пользователи
Почему обновление 1С блокируется активными сеансами и как безопасно завершить сеансы пользователей: консоль кластера, конфигуратор, файловая база, проверка результата.
При обновлении конфигурации 1С платформа требует монопольного доступа к информационной базе. Если в базе остаются активные сеансы — открытые окна у пользователей, фоновые задания, зависшие подключения, — обновление останавливается с сообщением о наличии активных пользователей. Это защитный механизм: изменение структуры данных при работающих сеансах может привести к повреждению базы и потере несохранённых документов.
Проблема возникает в двух основных сценариях. В клиент-серверном варианте работы сеансы держит сервер 1С:Предприятия — их нужно завершать через консоль кластера. В файловом варианте достаточно закрыть программу на всех компьютерах, но часто мешают зависшие процессы, открытые сетевые доступы к папке с базой и фоновые подключения по COM или через веб-сервисы.
Ниже разобраны способы найти и корректно завершить активные сеансы для обоих вариантов работы, а также методы принудительного обновления, когда штатные средства не помогают.
Почему 1С блокирует обновление при активных сеансах
Обновление конфигурации базы данных меняет структуру таблиц: добавляет реквизиты, пересчитывает итоги, реструктуризирует регистры. Если в этот момент пользователь проводит документ или фоновое задание пишет данные, возможны конфликты блокировок, обрыв транзакций и рассогласование данных. Поэтому платформа требует, чтобы в базе остался только один сеанс — тот, который выполняет обновление.
Активным считается не только явно открытое окно 1С. Сеанс держат фоновые задания, регламентные операции, подключения через COM-соединение, веб-сервисы, HTTP-сервисы, мобильные клиенты и сеансы отладчика. Нередко пользователь закрыл программу крестиком, но сеанс на сервере остался висеть ещё несколько минут до тайм-аута.
Проверить процессы 1cv8.exe в диспетчере задач на всех ПК
Открыть консоль кластера и посмотреть список сеансов базы
Подождать тайм-аут сеанса или завершить сеансы принудительно
Как найти и завершить сеансы в клиент-серверном варианте
В клиент-серверной архитектуре управление сеансами выполняется через консоль кластера серверов 1С:Предприятия. Откройте оснастку «Администрирование серверов 1С Предприятия» на сервере или на машине администратора, раскройте нужный кластер, найдите информационную базу и перейдите на вкладку «Сеансы». Здесь видно, кто именно занимает базу: пользователь, компьютер, время начала сеанса и режим работы.
Чтобы освободить базу, выделите все сеансы и выберите «Удалить». Сеанс завершится принудительно — несохранённые данные пользователя будут потеряны, поэтому перед этим предупредите сотрудников и дайте им время закрыть программу самостоятельно. Дополнительно проверьте вкладку «Соединения»: иногда сеанс удалён, а соединение ещё висит — его тоже можно отключить.
- 1Откройте консоль «Администрирование серверов 1С Предприятия»
- 2Найдите нужную информационную базу в дереве кластера
- 3Перейдите на вкладку «Сеансы» и оцените список активных подключений
- 4Предупредите пользователей и дождитесь их выхода
- 5Удалите оставшиеся сеансы вручную
- 6В свойствах базы включите блокировку начала сеансов
- 7Запустите обновление конфигурации базы данных
Блокировка сеансов на время обновления
Чтобы пользователи не заходили в базу, пока идёт обновление, откройте свойства информационной базы в консоли кластера и установите флаг «Блокировка начала сеансов включена». Можно задать сообщение для пользователей и код разрешения — параметр /UC позволит администратору зайти в базу, несмотря на блокировку. После завершения обновления блокировку нужно снять, иначе утром никто не сможет войти в базу.
Что делать в файловом варианте базы
В файловом варианте централизованной консоли нет, поэтому сеансы завершаются на каждом компьютере. Попросите всех пользователей закрыть 1С, затем проверьте диспетчер задач на каждом ПК: процесс 1cv8.exe или 1cv8c.exe может остаться в памяти даже после закрытия окна. Завершите такие процессы через «Снять задачу».
Если база лежит в сетевой папке, проверьте на файловом сервере открытые файлы: в оснастке «Управление компьютером» → «Общие папки» → «Открытые файлы» видно, кто держит файлы базы. Оттуда же можно принудительно закрыть открытый файл. Это помогает, когда пользователь ушёл домой, а его компьютер остался включённым с открытой 1С.
Частый источник «невидимых» сеансов в файловой базе — программы обмена и интеграции: обработки на других ПК, которые периодически подключаются к базе, и планировщики заданий Windows, запускающие 1С в пакетном режиме. Перед обновлением остановите такие задания.
Как определить, кто именно занимает базу
Если база небольшая и нет доступа к консоли кластера, список пользователей можно посмотреть прямо из конфигуратора: меню «Администрирование» → «Активные пользователи». Откроется список сеансов с именами пользователей, компьютерами и временем входа. Из этого же окна можно отправить пользователям сообщение с просьбой выйти.
В типовых конфигурациях (Бухгалтерия, Зарплата и управление персоналом, Управление торговлей) есть штатный механизм завершения работы пользователей: «Администрирование» → «Обслуживание» → «Блокировка работы пользователей» (в некоторых версиях — «Завершение работы пользователей»). Он позволяет установить блокировку на заданное время и принудительно завершить сеансы с отсрочкой, чтобы пользователи успели сохранить данные.
Как выбрать действие
Принудительные способы, когда сеансы не завершаются
Если сеанс в консоли кластера не удаляется или появляется снова, перезапустите службу «Агент сервера 1С:Предприятия». Это разорвёт все подключения к кластеру, поэтому выполняйте перезапуск только после предупреждения пользователей и вне рабочего времени, если на сервере работают другие базы.
Альтернативный путь — обновление через конфигуратор с параметрами командной строки. Запуск конфигуратора с ключами DESIGNER /UpdateDBCfg выполняет обновление конфигурации базы данных в пакетном режиме. Однако требование монопольного доступа это не отменяет: базу всё равно нужно освободить от сеансов, иначе команда завершится с той же ошибкой.
"C:\Program Files\1cv8\8.3.22.0000\bin\1cv8.exe" DESIGNER /F"D:\Bases\Trade" /NАдминистратор /P*** /UpdateDBCfg /DisableStartupDialogsПроверка результата и типичные ошибки
После завершения сеансов повторите обновление: «Конфигурация» → «Обновить конфигурацию базы данных». Признак успеха — окно реструктуризации проходит до конца, конфигуратор сообщает о завершении обновления, а в базу можно войти под пользователем. После этого не забудьте снять блокировку начала сеансов и проверить, что регламентные задания и обмены запустились снова.
Если обновление прервалось на середине реструктуризации, не пытайтесь запускать его повторно «наугад» несколько раз подряд. Проверьте журнал регистрации и технологический журнал на предмет ошибок СУБД, убедитесь в наличии свободного места на диске с базой и только потом повторяйте попытку. При повторных сбоях восстановите базу из резервной копии и разбирайтесь с причиной отдельно.
Как проверить результат
Остался только сеанс обновления или список пуст
Сеансы появляются снова — работает обмен или фоновое задание
Реструктуризация завершена без ошибок
Ошибка монопольного доступа или обрыв на этапе реструктуризации
Пользователи входят, данные открываются корректно
Ошибки при входе, не открываются формы документов
Частые вопросы
Сколько ждать, пока зависший сеанс закроется сам?
Зависший сеанс на сервере 1С завершается по тайм-ауту, который обычно составляет от нескольких минут до получаса в зависимости от настроек кластера. Если ждать некогда, проще удалить сеанс вручную через консоль кластера — это безопасно для базы, хотя несохранённые данные пользователя будут потеряны.
Можно ли обновить 1С без монопольного доступа?
Обновление конфигурации поставщика (загрузка .cf) возможно без монопольного доступа, но обновление конфигурации базы данных — нет. В клиент-серверном варианте часть изменений поддерживает фоновое обновление без прерывания работы, но финальный этап всё равно требует освобождения базы.
Пользователь вышел, а сеанс в консоли всё ещё висит. Почему?
Так бывает при обрыве сети, закрытии программы через диспетчер задач или спящем режиме ноутбука — клиент не отправил серверу команду завершения. Сервер держит сеанс до тайм-аута. Такой сеанс можно смело удалить вручную.
Что делать, если обновление прервалось на реструктуризации?
Не перезапускайте обновление многократно. Проверьте свободное место на диске, журнал регистрации и сообщения СУБД. Если причина непонятна — восстановите базу из резервной копии, сделанной до обновления, и повторите процедуру после устранения причины сбоя.
Как обновлять базу ночью без участия пользователей?
Настройте пакетный сценарий: скрипт, который через консоль кластера или утилиту rac завершает сеансы, включает блокировку, запускает конфигуратор с ключом /UpdateDBCfg и снимает блокировку. Перед этим обязательно автоматическое создание резервной копии.
Опасно ли удалять сеансы через консоль кластера?
Для целостности базы это безопасно — транзакции СУБД корректно откатываются. Риск только в потере несохранённых данных у пользователя: незаписанный документ или открытая форма исчезнут. Поэтому всегда предупреждайте сотрудников заранее.
Что важно запомнить
Сообщение об активных пользователях — это защита базы, а не ошибка. Сделайте резервную копию, найдите сеансы в консоли кластера или на компьютерах пользователей, корректно завершите их, включите блокировку входа и повторите обновление. После завершения снимите блокировку и проверьте работу базы.