Выгнать из базы или закрыть вход: что умеет конфигуратор 1С и где завершать сеансы

· 9 мин

Содержание

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

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

Подготовка: права, тип базы и резервная копия

Прежде чем отключать пользователей, проверьте три вещи.

  • 🔑 Права в базе. Работать со списком пользователей в конфигураторе может только пользователь с ролью, у которой есть право «Администрирование» (в типовых — «Полные права» или «Администратор системы»). Без него пункт Пользователи недоступен.
  • 🖥️ Тип базы. Файловая или клиент-серверная — это видно в списке баз окна запуска: у файловой путь вида File="D:\Base", у серверной Srvr="server";Ref="base". От типа зависит, можно ли завершить чужой сеанс принудительно.
  • 🔐 Доступ к кластеру. Для серверной базы понадобится консоль администрирования серверов 1С и, если они заданы, логин и пароль администратора кластера и администратора базы.

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

Отдельно про сам конфигуратор: открытый конфигуратор тоже занимает сеанс. Если в базе висит чужой конфигуратор, вы его увидите в списке активных пользователей с приложением «Конфигуратор».

Где в конфигураторе посмотреть активных пользователей

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

Что в нём полезно:

  1. Пользователь — имя из списка пользователей базы. Если аутентификации нет вовсе, имя будет пустым.
  2. Приложение — «Тонкий клиент», «Толстый клиент», «Веб-клиент», «Конфигуратор», «Фоновое задание», «COM-соединение».
  3. Начало работы — время входа. Сеанс, открытый вчера утром, почти наверняка забыт.
  4. Компьютер — имя машины. По нему понятно, кому звонить.

💡 Фоновые задания и COM-соединения тоже занимают базу. Обмен, который запускается по расписанию, или внешняя программа через COM не дадут получить монопольный доступ, хотя «живых» людей в списке нет.

Этот список — только просмотр. Кнопки «Отключить» в нём нет, поэтому дальше действуем по ситуации: либо звоним человеку, либо идём в консоль кластера.

Как отключить пользователя в конфигураторе: запрет входа в базу

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

Шаги

  1. Откройте Администрирование → Пользователи.
  2. Найдите нужного пользователя и откройте его двойным щелчком.
  3. На вкладке «Основные» снимите флажок «Аутентификация 1С:Предприятия».
  4. Если стоит флажок «Аутентификация операционной системы», снимите и его.
  5. Снимите флажок «Показывать в списке выбора», чтобы имя не мелькало в окне входа.
  6. Нажмите «ОК».

После этого новый вход под этой учётной записью невозможен. Уже открытый сеанс при этом продолжит работать — его нужно завершить отдельно (см. следующий раздел).

Почему не удалять пользователя

Удалить пользователя из списка можно, но в типовых конфигурациях на БСП так делать не стоит.

  • 📎 К пользователю привязаны документы: автор, ответственный, история изменений.
  • 📎 В программе есть элемент справочника «Пользователи», связанный с учёткой по идентификатору. Удаление в конфигураторе оставит его без пары, и программа при входе будет ругаться на несоответствие.
  • 📎 Журнал регистрации покажет удалённого пользователя по идентификатору, и разбирать «кто это сделал» станет сложнее.

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

Как принудительно отключить пользователя: завершение сеанса

Тут и проявляется главное ограничение: в конфигураторе нет команды, которая обрывает чужой сеанс. Варианты зависят от типа базы.

Серверная база: консоль кластера

  1. Запустите «Администрирование серверов 1С Предприятия».
  2. Раскройте: Центральные серверы 1С:Предприятия → имя сервера → Кластеры → кластер → Информационные базы → нужная база → Сеансы.
  3. В правой части найдите сеанс по пользователю, компьютеру и приложению.
  4. Щёлкните по нему правой кнопкой и выберите «Удалить».

Сеанс завершится, лицензия освободится. У пользователя на экране появится сообщение о разрыве соединения.

Несохранённые данные в открытых формах пропадут. Если человек на месте, сначала попросите его закрыть программу сам.

Серверная база: утилита rac

Если консоли нет под рукой или нужно отключать по расписанию, используйте rac (запускается из каталога bin платформы, нужен работающий ras).

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

Если на кластере задан администратор, добавьте --cluster-user и --cluster-pwd. Полный список параметров смотрите в rac help session.

Через саму программу

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

Файловая база

У файловой базы нет кластера, и принудительно оборвать сеанс со стороны нельзя. Рабочие варианты:

  • 📞 попросить пользователя закрыть 1С или закрыть её на его компьютере (удалённо или через диспетчер задач процесс 1cv8.exe / 1cv8c.exe);
  • 🔒 установить блокировку работы пользователей в программе — типовые конфигурации сами завершают сеансы с предупреждением (подробнее ниже);
  • 🖧 если база лежит в общей папке на сервере, закрыть открытые файлы базы в оснастке «Общие папки» Windows.

Закрытие процесса или файла посреди записи может оставить незавершённую транзакцию. Делайте это, только когда пользователь точно ничего не проводит, и после этого запустите «Тестирование и исправление» с проверкой логической целостности.

Подсказка при обновлении

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

Что нужно сделать с пользователем?

Блокировка, завершение сеанса и запрет входа: чем отличаются

Три действия часто называют одним словом «отключить», но результат у них разный.

ДействиеГде делаетсяЧто происходит с текущим сеансомКто сможет войти потом
Запрет входа учёткеКонфигуратор, карточка пользователяПродолжает работатьВсе, кроме этого пользователя
Завершение сеансаКонсоль кластера, rac, обработка «Активные пользователи»Обрывается сразуТот же пользователь может войти снова
Блокировка начала сеансовСвойства базы в консоли кластера, rac, «Блокировка работы пользователей» в программеСам по себе обрывает только блокировка из программы, после предупрежденияТолько тот, кто знает код разрешения

Блокировка в консоли кластера

Откройте свойства информационной базы в консоли и заполните:

  • флажок «Блокировка начала сеансов включена»;
  • время начала и окончания блокировки;
  • «Сообщение о блокировке» — его увидит пользователь при попытке входа;
  • «Код разрешения» — например, obnovlenie.

Здесь же есть флажок «Блокировка регламентных заданий включена» — включайте его, если мешают фоновые обмены.

Через rac то же самое делает команда rac infobase update с параметрами --sessions-deny=on и --permission-code; остальные параметры смотрите в rac help infobase.

Как войти, когда база заблокирована

Администратор запускает конфигуратор или программу с ключом /UC и кодом разрешения:

"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" DESIGNER /S"server\base" /N"Администратор" /P"пароль" /UC"obnovlenie"

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

Почему пользователь не отключается или сеанс висит

Бывает, что сеанс удалили, а он снова в списке, или блокировка стоит, а монопольный доступ не получается.

  • 🔁 Обмен или регламентное задание. Пользователей нет, но в списке «Фоновое задание». Включите блокировку регламентных заданий и дождитесь, пока текущее задание закончит работу.
  • 🔌 Внешнее подключение. COM-соединение или веб-сервис (сайт, мобильное приложение, интеграция) переподключается сам. Остановите внешнюю систему или публикацию на время работ.
  • 🌐 Обрыв сети. Клиент пропал, а сервер ещё держит сеанс. Он исчезнет сам после таймаута, но быстрее удалить его в консоли.
  • ⏳ Длинная транзакция. Сеанс проводит документы за период или закрывает месяц. Удаление его прервёт — транзакция откатится, и операцию придётся запускать заново.
  • 🧩 Зависший рабочий процесс. Сеанс не удаляется из консоли. Крайняя мера — перезапуск службы «Агент сервера 1С:Предприятия».

Перезапуск службы сервера 1С обрывает сеансы всех пользователей всех баз на этом сервере. Делайте это вне рабочего времени и предупредите людей заранее.

Если интересно, кто держит блокировку данных, а не сам сеанс, в консоли кластера у базы есть узел «Блокировки»: там видно, какой сеанс захватил какие объекты.

Перед завершением чужого сеанса
Выполнено: 0 / 5

Как планировать обслуживание, чтобы не выгонять людей вручную

Ручное отключение — аварийный режим. Обновления и тяжёлые операции проще планировать так, чтобы база освобождалась сама.

  1. Выберите окно. Вечер или выходной, когда в базе никого нет. Сообщите время заранее.
  2. Поставьте блокировку с запасом. В программе в обработке «Блокировка работы пользователей» задайте время начала и сообщение. Пользователи получат предупреждение и успеют сохранить данные, после чего программа завершит их сеансы.
  3. Остановите регламентные задания. Флажок в той же обработке или в свойствах базы на кластере.
  4. Проверьте список активных в конфигураторе перед стартом работ.
  5. Снимите блокировку сразу после проверки результата.

Автоматизация пакетным файлом

Для ночного обновления в типовых конфигурациях на БСП есть параметры запуска, которые ставят и снимают блокировку без ручной работы:

rem Установить блокировку и завершить сеансы
1cv8.exe ENTERPRISE /S"server\base" /N"Администратор" /P"пароль" /C"ЗавершитьРаботуПользователей" /UC"obnovlenie"

rem ... здесь обновление и резервное копирование ...

rem Снять блокировку
1cv8.exe ENTERPRISE /S"server\base" /N"Администратор" /P"пароль" /C"РазрешитьРаботуПользователей" /UC"obnovlenie"

💡 Код разрешения в /UC должен совпадать с тем, что программа запишет в блокировку, иначе сеанс администратора тоже не пустит. Пароли в bat-файле храните только на защищённом сервере.

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

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