Бывает разработчику требуется освободить базу от пользователей. Срочно. По разным причинам, но бывает. Всех не обзвонишь, не попросишь, а отключить всех необходимо. Есть жесткая методика, но она менее радикальная, чем перезагрузка сервера. Изложено для работы в режиме Толстого клиента.
1. Создадим константу "ОтключитьВсех" с типом "Число" длиной 1. Константа будет хранить два значения 0 или 1. Можно сделать Булево. Кому как нравится.
2. В общих модулях создадим одноименный модуль "ОтключитьВсех". В этом общем модуле определим процедуру, которую назовем тоже ОтключитьВсех():
3. Подключаем обработчик ожидания. В качестве подключаемой процедуры в обработчике ожидания указываем созданную выше процедуру без скобок. Интервал указываем, например, 60. Это значит, через одну минуту база очистится от пользователей.
Здесь возможно, что отключившиеся пользователи, войдут снова. Тогда придется ждать еще минуту для заново вошедших. Поэтому разработчик должен дополнить этот способ какими-нибудь сообщениями пользователю, о скором закрытии базы и невозможности входа в нее до особых указаний.
Кроме того, возможны исключения. Например, если у пользователя на экране активно диалоговое окно, ожидающее действия пользователя, а последнего нет на месте, то программа не закроется автоматически, даже, если работа системы завершается с параметром Ложь.
Еще бывает ситуация, когда пользователь начал запуск программы, прошел этап выбора базы, а на этапе авторизации покинул рабочее место. В окне "Активные пользователи" вы сможете видеть активный сеанс, хотя и без имени пользователя - это поле будет пустым, т.к. авторизации не было. В данном случае программа тоже не закроется. Придется найти это рабочее место и сбросить авторизацию.