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

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

Как выгнать пользователей из 1С 7.7

Как выгнать пользователей из 1С 7.7: монитор пользователей, отключение сеансов, блокировка базы, работа с терминальным сервером и файловой базой.

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

В отличие от платформы 8.x, в 1С 7.7 нет встроенной консоли кластера и команды «завершить сеанс» с рассылкой предупреждений. Администратору приходится комбинировать штатные средства (монитор пользователей, монопольный вход, параметр блокировки) с инструментами операционной системы — от терминальных сессий до снятия процессов.

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

Как увидеть, кто сейчас работает в базе

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

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

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

Пользователь в мониторе, компьютер включёнАктивный сеанс

Связаться и попросить выйти штатно

Пользователь в мониторе, компьютер выключенЗависшая запись

Подождать таймаут или сбросить сессию на сервере

Файл 1Cv7.LCK есть, монитор пустНекорректное завершение

Убедиться, что процессы 1cv7.exe завершены, затем проверить базу

Штатное отключение: договориться и предупредить

Самый безопасный способ — попросить пользователей выйти самостоятельно. В 1С 7.7 нет штатной рассылки сообщений внутри сеансов, поэтому предупреждение отправляют внешними средствами: командой msg на терминальном сервере, сетевым сообщением, звонком или корпоративным мессенджером.

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

Порядок штатного отключения
  1. 1
    Откройте Администрирование → Активные пользователи и зафиксируйте список
  2. 2
    Разошлите предупреждение с указанием времени отключения
  3. 3
    Через 5–10 минут обновите монитор и проверьте, кто остался
  4. 4
    Свяжитесь с оставшимися персонально
  5. 5
    Установите блокировку входа, чтобы никто не зашёл снова

Блокировка входа новых пользователей

Чтобы во время регламентных работ никто не зашёл обратно, используется механизм блокировки через параметр запуска или код в конфигурации. Классический приём для 1С 7.7 — процедура в глобальном модуле, которая при входе проверяет наличие файла-флага (например, lock.txt в каталоге базы) и завершает работу с сообщением.

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

1c
// Процедура ПриНачалеРаботыСистемы() в глобальном модуле
Если ФС.СуществуетФайл(КаталогИБ() + "lock.txt") = 1 Тогда
    Предупреждение("Идут регламентные работы. Вход временно запрещён.");
    ЗавершитьРаботуСистемы(0);
КонецЕсли;

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

Принудительное завершение сеансов на терминальном сервере

Если база работает на терминальном сервере (RDP), администратор может завершить сеанс пользователя целиком. Откройте «Диспетчер задач» на вкладке «Пользователи» или оснастку «Диспетчер служб терминалов» (в современных версиях Windows — через qwinsta и logoff), найдите сессию и выполните выход из системы.

Мягкий вариант — сначала отправить сообщение командой msg ИмяПользователя Текст, затем через паузу выполнить logoff ID_сессии. Жёсткий вариант — завершить процесс 1cv7.exe конкретного пользователя через диспетчер задач. Он быстрее, но равносилен выдергиванию вилки: несохранённые данные сеанса будут потеряны.

Отключение пользователей файловой базы по сети

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

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

Командная строка даёт тот же результат быстрее: net session \\ИмяКомпьютера /delete на сервере закрывает сессию указанной машины. Учётная запись, из-под которой выполняется команда, должна иметь права администратора на сервере.

Сравнение способов отключения

Предупреждение и штатный выход

Самый безопасный; требует времени и дисциплины пользователей

Logoff терминальной сессии

Подходит для RDP; завершает все программы пользователя, несохранённые данные теряются

Закрытие сетевой сессии на файловом сервере

Для файловой базы по сети; риск повреждения индексов, нужна проверка базы

Снятие процесса 1cv7.exe

Крайняя мера при зависании; высокий риск потери данных сеанса

Проверка результата и запуск монопольного режима

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

Если монопольный вход не удаётся с сообщением о занятости базы, значит, где-то остался живой сеанс: проверьте процессы 1cv7.exe на терминальном сервере и открытые файлы на файловом сервере ещё раз. Иногда мешает запущенная у кого-то обработка пакетного режима или открытый в сети каталог базы в проводнике с блокировкой индексов.

Контрольные точки

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

Монитор активных пользователей
Норма

Список пуст или только ваш сеанс

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

Висят пользователи с выключенных компьютеров — ждите таймаут или сбрасывайте сессии

Вход в конфигуратор монопольно
Норма

Вход выполнен без ошибок

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

Сообщение «база данных занята» — ищите оставшийся сеанс

Процессы 1cv7.exe на сервере
Норма

Процессов нет

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

Есть процессы зависших сеансов — завершить вручную

Типичные ошибки при отключении пользователей

Типичные ошибки
01
Снятие процесса без предупреждения — потеря непроведённых документов и возможное повреждение индексов
02
Удаление файла 1Cv7.LCK при работающих сеансах — рассинхронизация блокировок и ошибки доступа
03
Регламентные работы без блокировки входа — пользователь заходит в середине обновления конфигурации
04
Копирование каталога базы, пока кто-то работает, — архив содержит несогласованные DBF и CDX и может не открыться
05
Забытая блокировка после работ — утром никто не может войти в базу

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

FAQ

Можно ли отправить пользователям сообщение прямо из 1С 7.7?

Штатного механизма рассылки сообщений между сеансами в 7.7 нет. Используют внешние средства: команду msg на терминальном сервере, net send в старых сетях или доработку конфигурации с файлом-флагом, который сеансы периодически проверяют.

Пользователь выключил компьютер, а в мониторе он есть. База занята?

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

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

Запустите конфигуратор в монопольном режиме и выполните «Тестирование и исправление ИБ» с включённой реиндексацией таблиц. Перед этим обязательно сделайте копию каталога базы — исправление при повреждённых данных может изменить содержимое таблиц.

Как автоматически выгонять пользователей ночью для архивации?

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

Можно ли выгнать пользователей SQL-версии 1С 7.7 теми же способами?

Для SQL-версии сетевые сессии к файлам не используются: соединения держит сервер СУБД. Отключение делается на стороне SQL Server — просмотр активных соединений к базе и завершение нужных процессов (KILL) средствами СУБД, плюс блокировка входа на стороне 1С.

Итог

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

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