Удаление сеанса пользователя в 1С
Завершение сеанса пользователя в 1С может потребоваться в следующих случаях:
- обновление информационной базы;
- проведение восстановления работы на сервере или профилактических работ;
- зависшие сеансы пользователей, которые препятствуют повторному входу;
- добавление нового объекта метаданных в конфигурацию.
В данной инструкции мы расскажем, как правильно завершить сеанс пользователя и покажем несколько способов в зависимости от требований.
Готовый сервер 1С с администрированием.
Обслуживание сервера 1С мы выполняем также в рамках ИТ-аутсорсинга.
Важно запомнить, что прежде чем завершать сеанс пользователя, требуется предупредить пользователя об этом, так как возможна потеря данных.
Закрытие сеансов из конфигуратора
При внесении изменений в структуру базы и обновлении конфигурации в динамическом режиме может появиться ошибка, которая не предоставит нам возможности продолжить выполнение обновления до тех пор, пока не завершим сеанс пользователя.

Рисунок 1 — Ошибка активных сеансов
Для завершения сеанса требуется:
- Нажать кнопку Завершить сеансы и повторить.
- Дождаться окна реструктуризации базы.
- Нажать Принять.
Завершение сеансов пользователя из программы 1С
В основном все продукты фирмы 1С 8 версии имеют механизм, позволяющий удаленно завершить работу пользователя и обеспечить администратору монопольный доступ к базе. Это обработка Блокировка соединений с информационной базой. Найти её можно по следующему адресу: Администрирование => обслуживание => блокировка работы пользователей.

Рисунок 2 — Блокировка работы пользователей

Рисунок 3 — Подтверждение блокировки сеанса
Удаление пользователей из RDP
Удалить пользователя из терминального сервера можно при наличии определенных прав на это действие. Возможно завершить работу из стандартного диспетчера задач, но простое прерывание сеанса — не очень правильно. Второй вариант — использование диспетчера задач, удаленное подключение к сеансу и корректное завершение с помощью выхода из программы. Это, конечно, долгий способ и нет гарантий, что пока выполняется выход одного пользователя, не будет подключен еще пользователь, который запустит программу.
Для сервера 1С и обладая правами Администратора для кластера серверов 1С, необходимо:
- Запустить консоль администрирования сервера 1С.
- В ветке Информационные базы, найти базу, в которой будем завершать работу пользователя.
- Открыв её, зайти в ветку Сеансы.
- Щелкнув правой кнопкой мыши по имени пользователя, выбрать пункт Удалить.

Рисунок 4 — Удаление в консоли администрирования
Часто бывает, что при работе в серверном режиме зависшие сеансы пользователей не видны средствами платформы, их можно удалить только через консоль.
Перезагрузка сервера
Нельзя и упустить такой момент, что одним из способов завершения сеанса пользователей является банальная перезагрузка сервера, выполнить её можно, если все вышеуказанные способы не сработали, но такое случается редко. Безусловно, требуется пользователей предупредить, чтобы они успели сохранить файлы и завершить работу с программами.
Как выкинуть пользователя из 1с
Кому подойдет информация: Администратор 1С, Системный администратор, Бухгалтер
Подойдет для конфигураций: Все типовые конфигурации 1С новых редакций
В данной публикации будет рассмотрено, как завершить работу пользователей в базах новых редакций, работающих в режиме управляемого приложения. Зачастую это необходимо, чтобы можно было выполнить операции, требующие монопольного режима базы (например, удаление помеченных на удаление объектов, выполнение тестирования и исправления базы). Тогда в базе остается активным только один пользователь, выполняющий такие операции.
Вообще необходимо стараться избегать необходимости завершать работу пользователей базы принудительно, а завершать работу пользователей стандартным закрытием сеансов работы. Т.к. каждое такое "выкидывание" пользователей из базы является по своей сути аварийным завершением работы с базой. И именно в такие аварийные завершения работы могут возникать или накапливаться ошибки (но не обязательно каждый раз) в пользовательских файлах, которые могут потом выражаться в нетиповом поведении 1С у отдельных пользователей, потребуется очистка кэша базы на отдельном рабочем месте. Но, когда других вариантов не остается, то приходится удалять активные сеансы работы пользователей принудительно.
Будет рассмотрено три момента: в файловой базе, а так же два варианта с использованием возможностей базы в режиме 1С:Предприятие и с помощью утилиты администрирования баз данных для серверного варианта базы. Понять, какой тип базы у Вас — файловый или серверный можно по ссылке.
Конечно, формально можно признать, что есть один универсальный способ для завершения работы всех пользователей для любого типа базы — перезагрузить сервер или компьютер, на котором расположена файловая база. Но и этот вариант следует стараться избегать, т.к. это так же будет являться аварийным завершением работы пользователей.
| Внимание: описанные ниже действия доступны для пользователей с полным набором прав! |
1. Блокировка работы пользователей в файловой базе
Завершить работу пользователей в файловой базе не возможно из-за того, что платформенные механизмы 1С 8 это не позволяют сделать. Но возможно выполнить блокировку базы, установив таким образом монопольный доступ. При блокировке работа других пользователей прерывается до момента, пока блокировка не будет снята.
Для этого необходимо перейти в разделе "Администрирование" ("НСИ и администрирование" — в зависимости от конфигурации может быть такое название) по ссылке "Обслуживание", далее по ссылке "Блокировка работы пользователей". Блокировка базы устанавливается текущим пользователем. После нажатия на кнопку "Установить блокировку" сеансы других пользователей будут прерваны до момента снятия блокировки.

2. Завершение работы пользователей серверной базы в режиме 1С: Предприятие
Переходим в раздел "НСИ и администрирование" или "Администрирование" в зависимости от конфигурации базы 1С 8, далее переход по ссылке "Обслуживание".

Далее, как продемонстрировано на, объединенном изображении переход по ссылке "Активные пользователи" откроет одноименную форму списка работающих пользователей базы 1С. Выделяем несколько строк или отдельные и с помощью кнопки "Завершить сеанс" работа пользователей будет завершена.

3. Завершение работы пользователей серверной базы с помощью "Администрирования серверов 1С Предприятия"
Возможна такая ситуация, что доступ в базу оказался не возможен, например, из-за того, что закончились свободные лицензии. Поэтому завершить работу пользователей базы 1С 8 не получиться вышеописанным способом. Так же, если используется старая редакция конфигурации базы, то вышеописанные способы окажутся попросту невозможными в силу отсутствия функционала. Но это все же возможно сделать с помощью дополнительной возможности.

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


Находим базу в ветке "Кластер" — "Локальный кластер" — "Информационные базы" по имени базы и "Сеансы". Имя базы можно найти в "Справка" — "О программе", "Имя базы" или в списке запуска баз, внизу формы списка. Выделяются строки с отдельными сеансами работы или несколько подряд. Правой кнопкой мыши вызывается контекстное меню, в котором необходимо выбрать пункт "Удалить".

Согласится с предупреждением о том, что удаление сеанса может привести к потере не сохраненных изменений в справочниках и документах. Мера вынужденная, поэтому нажимается кнопка "ОК".

Успешным результатом будет исчезновение строк удаляемых сеансов пользователей из списка.

Может возникнуть ситуация, что в списке пользователей окажется пользователь "DefUser" — это значит, что в базе отрабатывает регламентное (фоновое) задание. Необходимо дождаться, когда фоновое здание закончит выполнение и пользователь DefUser сам автоматически отключиться. Иначе, если в настройке фонового задания установлена настройка запускать повторно при аварийном завершении, то пользователь после удаления его сеанса работы практически мгновенно тут же появится. И, если исходная цель была в получении монопольного доступа, то это сделать не получится из-за мгновенно снова запускающегося после завершения работы сеанса фонового задания. Необходимо дождаться самостоятельного завершения.
Как закрыть активных пользователей 1С
Зачастую администратору или бухгалтеру среди рабочего дня нужен монопольный режим 1С для выполнения регламентных операций: обновления программы, изменения конфигурации, удаление объектов, группового перепроведения документов и др. При этом специалист, который должен провести регламентные операции сталкивается с проблемой «как закрыть активных пользователей». Штатными средствами не всегда возможно решить этот вопрос. В таком случае. как принудительно выбросить пользователей из программы? Сделать это можно следующими способами.
ФАЙЛОВАЯ БАЗА ДАННЫХ
Меню Сервис – Пользователи – Блокировка установки соединений с информационной базой
Если по этому пути вы не обнаружили обработку закрытия активных пользователей, посмотрите в меню Операции – Обработки — Блокировка установки соединений с информационной базой. Там она точно будет. Данная обработка появилась в платформе 1С 8.2.14. В более ранних версиях ее может не быть. Это единственный для файловой базы данных способ получить монопольный доступ. Детально рассматривать как работать с обработкой не будем. В общем то она простая и понятная.

В новых конфигурациях на управляемых формах (BAS — в Украине) появилась долгожданная волшебная кнопка завершения работы пользователя, которая доступна в Журнале активных пользователей. В BAS Бухгалтерия журнал регистрации открывается следующим образом:
Меню: Администрирование — Обслуживание — Активные пользователи

Также можно воспользоваться системными средствами ОС Windows и с помощью диспетчера задач завершить процессы других пользователей, в частности закрыть приложение 1с8.exe. Но только для этого у пользователя должны быть права администратора системы.

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

Информационное окно для пользователей

СЕРВЕРНАЯ БАЗА ДАННЫХ
Для серверной базы данных возможностей чуть больше. Доступен первый способ, а также можно удалять активных пользователей с консоли сервера 1С. Для этого необходимо в ветке найти информационную базу, ветку «Сеансы» и удалить активные сеансы пользователей. Данный способ не совсем гуманный с точки зрения внезапного прекращения работы пользователя без предупреждения, но зато очень эффекивный и быстрый. Минус в том что после удаления сеансов пользователи могут снова пытаться входить в программу. Поэтому рекомендуется незамедлительно после удаления активных сеансов из консоли приступить к выполнению намеченных заданий.

3. Перезагрузка ПК. Есть и третий вариант быстро и эффективно выбросить всех пользователей с 1С — перезагрузить ПК или сервер, на котором находится база данных 1С. Этот способ несколько грубоват, потому что не позволяет предупредить пользователей, не дает им время корректно завершить работу и т.д., но весьма эффективный, когда монопольный доступ нужен очень срочно или когда предыдущих два способа кажутся вам «темным лесом».
Выгоняем пользователей из серверной информационной базы
Для проведения регламентных работ в информационной базе 1С:Предприятия 8 часто необходимо получить монополный доступ к базе. Например, для выполнения бэкапа базы или выполнения регламентных работ на сервере СУБД (реиндексация и т.д.), необходимо отключить все активные сеансы.

Рассмотрим простой способ отключения пользователей от информационной базы с помощью стандартного функционала сервера 1С:Предприятия.
Стандартный функционал
Сразу оговорюсь, что речь будет идти о клиент-серверном варианте работы 1С:Предприятия 8. Для отключения сеансов зайдем в консоль администрирования сервера. Там найдем нужную информационную базы в списке:

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

Не забывайте установить период блокировки сеанса. Также следует предусмотреть, что на время блокировки сеансов нужно остановить все фоновые задания. Делается это опицей «Блокировка регламентных заданий включена».
При необходимости можно установить текст сообщения пользователям, которым они будут уведомлены за 5 минут до блокировки сеансов, а также код разрешения для входа в информационную базу в период блокировки сеансов.
Код разрешения можно использовать для входа в информационную базу для выполнения регламентных работ, пока остальные сеансы не активные. Вводить код разрешения при подключении к базе нужно с помощью параметров. Например, так будет выглядеть параметр, переданный серверу, если код разрешения «123456».

Войдя в базу таким способом мы получим монополный доступ к информационной базе. Другие сеансы не смогут к нам присоединиться.
Уведомление пользователю о блокировке сеансов выглядит следующим образом (в зависимости от сообщения, введенного администратором). Появляется оно каждую минуту за 5 минут до периода блокировки.

По началу периода блокировки сеансов сначала появляется уведомление:
После сеанс завершается.

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

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