Маловато я нашел внешних обработок для отключения пользователей в файловых базах 1С 8.2, без редактирования конфигурации.
Версия 1.0:
Хотя функционал и ограничен, но всё понятно, и главное - работает.
Версия 2.0:
- отдельная кнопка для снятия блокировки, чтоб понятее было
- отдельная кнопка для установки блокировки, чтоб понятее было
Обработка нештатных ситуаций:
- выдача сообщения пользователю, если время окончания блокировки меньше текущего. Например, если пользователь запустил обработку и отвлекся, то установленное время окончания блокировки (особенно если было выбрано "через 5 минут") могло уже наступить. Этот баг исправлен.
- проверка удачности установки блокировки. Например, если нет прав на папку с базой на запись, то блокировка не установится, а пользователь будет ждать у моря погоды. Этот баг исправлен.
Как пользоваться:
Программа написана с защитой от дурака, а так же применен "хитрый хак". В результате получилось достаточно удобно. Сейчас ситуация была на работе: юзера попросили закрыть программу и он её закрыл, но процесс 1cv8.exe остался висеть. Так же он остался виден через монитор пользователей. Так как у юзера было запущено ещё пара нужных ему баз, то вариант с перезагрузкой компьютера и гроханье всех процессов 1cv8.exe не рассматривался. Вспомнили про эту обработку. Заходим в нужную базу, запускаем эту обработку, ставим блокировку через 1мин. На рабочем столе автоматически создается административный ярлык для входа в эту базу (так как нас тоже выкинет и войти можно будет только с этого ярлыка) - это первая защита от дурака. Нас выкинуло, у меня и у пользователей появилось окно, которое сообщает, что будет предпринята попытка запуститься снова через 1минуту и обратный отсчёт. Жмем "Отмена" в окошке с обратным отсчётом, так как у нас на рабочем столе есть ярлык, который позволит зайти в программу только нам. Делаем свои дела. Затем не забываем снять блокировку, запустив эту обработку снова и нажав на одну только кнопку "снять блокировку".