Легкие способы отключения пользователей. Настройка спящих сеансов Завершение сеансов пользователей 1с 8.3

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

  • Обновление информационной базы;
  • Добавление нового объекта метаданных в конфигурацию;
  • Проведение профилактических и ремонтных работ на сервере;
  • Зависший сеанс пользователя, препятствующий повторному запуску приложения.

В этой статье мы постараемся рассказать, как завершить сеанс пользователя, какие инструменты для выполнения этой задачи есть в арсенале администратора, какие варианты завершения предусматривает файловый, а какие клиент-серверный вариант работы 1С.

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

Закрытие сеансов из конфигуратора

Когда в структуру базы данных вносятся изменения, обновление конфигурации в динамическом режиме становится недоступно. И на экране появляется информационное окно (Рис.1).

Последовательность действий в этом случае очевидна:

  1. Необходимо нажать кнопку «Завершить сеансы и повторить»;
  2. Дождаться окна рестуктуризации базы;
  3. Нажать «ОК».

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

Завершение сеансов непосредственно из программы

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

Найти ее можно по одному из двух адресов:

  1. В одном из подменю раздела «Сервис»;
  2. Зайдя в раздел Операции->Обработки.

Рис.2

Внешний вид обработки представлен на Рис.2.

Особенности данной обработки:

  1. Установка и снятие флажка, и нажатие кнопки «Записать» включает и выключает блокировку пользователей, удаляя сеансы и препятствуя созданию новых подключений;
  2. Время окончания блокировки не может быть пустым или меньше времени её начала;
  3. В случае, когда задан параметр «Код разрешения», его можно прописать в строку запуска, для игнорирования блокировки, перед кодом указав «/UC»;
  4. Если «Код разрешения» не указать, то до истечения срока блокировки попасть в базу будет проблематично (в файловом варианте работы можно попробовать из папки базы удалить файл 1CVcdn);
  5. Если вместо параметра «/UС» и пароля через пробел указать «/CРазрешитьРаботуПользователей», где С – латинская, можно полностью отключить блокировку для всех пользователей;
  6. Нажатие кнопки «Активные пользователи, вызывает окно с полным списком пользователей (рис.3), откуда можно открыть «Журнал регистрации» или завершить сеанс каждого конкретного пользователя.

Рис.3

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

Удаление пользователей из rdp

Важно помнить, что отключение сеансов пользователей с серверов возможно только при наличии определенных прав на это действие.

При работе с удаленного рабочего стола, завершить сеансы пользователей можно воспользовавшись стандартным диспетчером задач. Простое прерывание сеансов — немного неправильный, но достаточно действенный способ.

Второй вариант использование диспетчера задач – удаленное подключение с возможностью управления к каждому конкретному сеансу и осуществление выхода из программы по всем правилам. Этот способ долгий, и никто не гарантирует, что пока выполняется выход одного пользователя, не будет осуществлен запуск программы каким-либо другим работником.

Удаление пользователей через консоль сервера

Обладая правами Администратора для кластера серверов 1С, необходимо:


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

Самый радикальный способ прерывания сеансов

Ситуация, когда вышеописанные способы не сработали, случается крайне редко. Но в случае ее возникновения есть еще один радикальный способ прервать соединения с базой: физическая перезагрузка сервера.

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

Для проведения регламентных работ в информационной базе 1С:Предприятия 8 часто необходимо получить монополный доступ к базе. Например, для выполнения бэкапа базы или выполнения регламентных работ на сервере СУБД (реиндексация и т.д.), необходимо отключить все активные сеансы.

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

Стандартный функционал

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

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

Не забывайте установить период блокировки сеанса. Также следует предусмотреть, что на время блокировки сеансов нужно остановить все фоновые задания. Делается это опицей "Блокировка регламентных заданий включена".

При необходимости можно установить текст сообщения пользователям, которым они будут уведомлены за 5 минут до блокировки сеансов, а также код разрешения для входа в информационную базу в период блокировки сеансов.

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

Войдя в базу таким способом мы получим монополный доступ к информационной базе. Другие сеансы не смогут к нам присоединиться.

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

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

После сеанс завершается.

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

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

При нештатном завершении клиентского приложения (обрыв связи или закрытие окна бразуера) клиентские лицензии «1С: Предприятие 8» могут блокироваться.

Освободить заблокированные клиентские лицензии можно перезагрузкой ПК.

При нештатном завершении клиентского приложения сеанс удерживается еще 20 минут. После этого в версиях до 8.3.5 сеанс удалялся. С версии 8.3.5 сеанс засыпает в в спящем состоянии по умолчанию удерживается еще сутки. Спящий сеанс не занимает клиентскую лицензию «1С: Предприятие 8».

В версии 8.3.5 время засыпания сеанса и время удаления неиспользуемого спящего сеанса можно изменить с помощью специальной или в Конфигураторе 1С в диалоге Администрирование/ Параметры информационной базы, установив рекомендуемые параметры спящего сеанса:

  • время засыпания пассивных сеансов — 300
  • время завершения спящих сеансов — 10

Кстати, кто спит, а кто активен всегда можно посмотреть через консоль сервера на закладке сеансов. В соответствующей колонке «Спящий» есть признак Да/Нет.

Штатно (по версии фирмы 1С) завершить работу в веб-клиенте можно командой «Файл»-«Выход». С версии 8.3.8 добавили команду завершения работы в заголовок приложения, рядом с кнопкой О программе . Она отображается в виде гиперссылки с именем текущего пользователя.При нажатии на гиперссылку открывается диалог с именем пользователя и командой Завершить работу .

Платформа каждые 5 секунд делает пинги клиетом сервер 1С (видны пакеты по 4 байта). На основании «пингов» сервер отслеживает целостность соединения с клиентским приложением. Отсутствие пингов в течение примерно 2 минут серввер интерпретирует как разрыв соединения.

Здравствуйте Дмитрий! Научите меня пожалуйста тому, как выгонять пользователей принудительно из базы, чтобы конфигурацию обновить. Спасибо заранее.

От пользователя: Светлана Николаевна

Здравствуйте, Светлана Николаевна!

Для того, чтобы выгнать пользователей из базы, нужно обладать правами администратора.

Заходим в раздел Администрирование , Поддержка и обслуживание :

Выбираем Блокировка работы пользователей :


Из формы по кнопке можно посмотреть список активных пользователей.

Заполняем сообщение, которое увидят пользователи на своих экранах, задаем интервал блокировки (если конечное время вы не знаете, оставьте поле пустым). Установите также код для разблокировки , т.к. блокировка коснется также и вашего активного сеанса, например установим 1234 .

Нажимаем Установить блокировку . Появится предупреждающее сообщение:


Соглашаемся. Теперь в форме красным цветом написано, что скоро начнется блокировка.


У активных пользователей в это время появляется такое окно:


Ближе к началу блокировку она начинает появляться ежеминутно:


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


У пользователя, установившего блокировку, также появляется сообщение:


Выйдем из базы.

Т.к. блокировка распространяется на все сеансы всех пользователей, нам понадобится установить параметр запуск (тут то и понадобится Код для разблокировки ):



На второй закладке прописываем параметр запуска базы (где 1234 - наш код):


Нажимаем готово. Теперь можем войти как в конфигуратор, так и в пользовательский режим.

Для снятия блокировки базы нужно вернуться в форму блокировки и нажать Снять блокировку .


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

Реализовано в версии 8.3.8.1652.

Раньше пользователи, привыкшие к работе с веб-приложениями, испытывали определённое неудобство от того, что не видели команды завершения работы пользователя. Они привыкли к тому, что обычно такая команда есть, и она находится на видном месте. И чтобы завершить работу веб-приложения нужно не просто закрыть окно браузера, а именно выполнить эту команду. Которая, в том числе, завершит и сеанс авторизации. Чтобы при следующем запуске приложения нельзя было войти в него «просто так», а только после ввода логина и пароля.

В 1С:Предприятии и команда Выход , и команда Завершить работу пользователя … (при использовании OpenID-аутентификации) существуют, но располагаются в меню Файл , о чём многие пользователи не знают.

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



Эта команда, при обычной аутентификации, завершает работу клиентского приложения. А при OpenID-аутентификации она завершает работу пользователя (OpenID logout) и также завершает работу приложения.

При публикации информационной базы на веб-сервере можно задать URL, по которому будет выполнен переход после завершения работы веб-клиента этой командой. Например, для возврата на основную страницу поставщика сервиса, если пользователь работал с приложением в модели сервиса.