Завершение работы пользователей. Файловый и клиент-серверный вариант. Без доработки конфигураций.


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

Данная обработка похожа на типовую "Блокировка установки соединений с информационной базой", но имеет некоторые существенные отличия:

1. Отображение списка активных пользователей

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

При выполнении команды "Установить блокировку" будут отключены все сеансы, в том числе и тот, из которого вы запустили обработку. Однако, у вас есть возможность при установке блокировки заблаговременно создать на своем Рабочем столе ярлык, при помощи которого вы можете войти в заблокированную базу. Иными словами, вам не придется мучаться, прописывая в свойствах ярлыка необходмые параметры запуска.

Есть, конечно, и некоторые минусы. Например, обработка не выкинет пользователей, у которых открыто модальное окно типа предупреждения "Документ не проведен". Вопросы типа "Объект изменен. Сохранить изменения?" игнорируются и сеанс пользователя завершается без сохранения данных.

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

Было бы, конечно, весьма полезно прикрутить сюда и отправку сообщений пользователям, но вариантов реализации данного действа средствами 1С без использования "Регистр сведений+ОбработчикОжидания" нигде найти не удалось. Так что, пока так.

Основная задача стояла так, чтобы выкидывать пользователей в любых конфигурациях без их модификации. Вроде что-то получилось :)

PS. Реализована возможность выбирать сообщение пользователям из шаблонов, причем в шаблон будет подставлено время окончания блокировки. Только вот редактировать эти  шаблоны придется в Конфигураторе, в модуле формы, а именно - в процедуре "КнопкаИзШаблонаНажатие(Элемент)". Писать какой-либо другой механизм для их хранения лень.

 

Update от 14.09.2011

Благодаря пользователям cbr900 и 7OH, предоставивших свои алгоритмы создания ярлыка для клиент-серверного варианта, реализован и этот режим.

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

Теперь о нюансах.

В клиент-серверном варианте работы обработка работает корректно, создает правильный ярлык, НО возможна ситуация, что после запуска базы в режиме Конфигуратора с кодом разрешения не удается запустить отладку, т.к. база остается заблокированной. При этом, если отдельно запустить базу с кодом разрешения, то все нормально. С чем это связано пока не разобрался.

PS. Если в клиент-серверном варианте воспользоваться типовой обработкой, то результат - тот же: из Конфигуратора не запускается отладка.

 

Update от 05.10.2011

Реализована управляемая форма обработки, а также учтены замечания пользователей maxx и r0610201.

 

Файлы обработки:

-