Cуществует масса способов как выкинуть пользователя из базы. Один из них это ЗавершитьРаботуСистемы(), другие -сброс сеансов, остановки служб и тд.
Этот способ ЗавершитьРаботуСистемы(), просто немного подшлифован для себя. Может кому и пригодится.
Подойдет для любой конфигурации 8.2, работающих на толстом клиенте.
ЗЫ: Добавлено закрытие сессий на сервере приложений 1С.
Небольшие нюансы. При выставлении галки «Всех» у первого пользователя у которого закончится время ожидания — его клиент попытается закрыть все открытые сесси базы данных. Т.е. если время на комп. пользователей не синхронизируется с временем на сервере — то некоторым пользователям может не хватить таймаута для закрытия программы.
Если галка не стоит, то будет предпринята попытка закрыть сессии, которые создались при приглашении ввести пароль и текущая сессия пользователя.
Соответсвенно это легко дорабатывается до нужного состояния, в коде все помоему предельно ясно. Можно перенастроить так, чтоб у пользователя закрывался только текущий сеанс (т.е. сам себя). Но это как кому нравится.
(0) А в чем фишка этой отключалки?
Фишка в том, что она дает пользователю время на сохранение данных. Ну и + запланированное отключение на каждый день. Например перед архивированием базы отключит всех пользователей которые «забыли» выйти из программы.
В принципе работает. Проблем с установкой на УТ 10,3 не возникло все описано четко и понятно. Пока поставил на тестувую конфигурацию. РАБОТАЕТ. Пользователей выбрасывает как и было заявлено четко в базу не дает зайти если нет соотвествующие роли.Завтра поставлю на боевой сервер на рабочую конфигурацию, будем тестить как будет работать с кучей пользователей. По результату отпишусь. Автору огоромное спасибо так держать.
Сейчас дорабатываю еще и выгон не залогинившехся пользователей. смысл когда пользователь не вводит пароль, сессия на сервере открывается и по хорошему их тоже надо сбрасывать. т.е. будет некий аналог autlim1c. Правда работать это будет на клиент — серверном варианте.
Конфигуратор изменять надо ?
надо
Если надо менять конфигурацию, то эта обработка не отличается от многих других. Вот если бы без изменений ….
Автор подскажите когда доделаете (4) как было описано ато таких пользователей тоже куча и так висят бесконечно. долго приходится выбрасывать руками. Зарание спасибо за ответ.
Очень полезная вещь.
Писал подобную штуку на 77 когда-то. На 8 пока руки не дошли (да и у нее меньше необходимости всех выгонять) — так что автор сильно помог мне. Спасибо.
Полезная штука
«Подойдет для любой конфигурации 8.2, работающих на толстом клиенте.»
Если программа работает на тонком клиенте (Клиент-серверный вариант) то не заработает?
Для уточнения Бухгалтерия ред 3.0.
(12) DimanYa, да, потребуется незначительная доработка, а так разницы нет
(8) dyak84, Доделал — тестируйте
(14)Автор спасибо щас скачаю и протестирую. Спасибо за оперативность.Так держать Ставлю Вам заслуженій 5++++++++++++++
Полезная вещь
а пользователям давать права завершения работы других ?
не понял вопроса
Спасибо автору.
А что обработка сделает с терминальными пользователями, которые выключили терминал, а 1с нет?
сие науке не известно. предполагаю что она выкинет и их, но терминальную сессию не закроет. тут скорее всего надо решать настройкой терминального сервера, отключенные сеансы надо просто закрывать по таймауту.
А эту обработку можно запускать из командной строки в bat-файле перед выгрузкой базы или надо только вручную?
в принципе да. доделать только надо, а так возможно