Данная обработка похожа на типовую «Блокировка установки соединений с информационной базой», но имеет некоторые существенные отличия:
1. Отображение списка активных пользователей
2. Возможность создать ярлык на рабочем столе для запуска информационной базы с кодом разрешения
При выполнении команды «Установить блокировку» будут отключены все сеансы, в том числе и тот, из которого вы запустили обработку. Однако, у вас есть возможность при установке блокировки заблаговременно создать на своем Рабочем столе ярлык, при помощи которого вы можете войти в заблокированную базу. Иными словами, вам не придется мучаться, прописывая в свойствах ярлыка необходмые параметры запуска.
Есть, конечно, и некоторые минусы. Например, обработка не выкинет пользователей, у которых открыто модальное окно типа предупреждения «Документ не проведен». Вопросы типа «Объект изменен. Сохранить изменения?» игнорируются и сеанс пользователя завершается без сохранения данных.
Также, обработка будет корректно работать только в тех конфигурациях, которые при старте сеанса пользователя подключают обработчик ожидания с проверкой блокировок соединений. Как правило, все типовые конфигурации содержат данный функционал. Для самописных конфигураций придется его предварительно реализовать.
Было бы, конечно, весьма полезно прикрутить сюда и отправку сообщений пользователям, но вариантов реализации данного действа средствами 1С без использования «Регистр сведений+ОбработчикОжидания» нигде найти не удалось. Так что, пока так.
Основная задача стояла так, чтобы выкидывать пользователей в любых конфигурациях без их модификации. Вроде что-то получилось 🙂
PS. Реализована возможность выбирать сообщение пользователям из шаблонов, причем в шаблон будет подставлено время окончания блокировки. Только вот редактировать эти шаблоны придется в Конфигураторе, в модуле формы, а именно — в процедуре «КнопкаИзШаблонаНажатие(Элемент)». Писать какой-либо другой механизм для их хранения лень.
Update от 14.09.2011
Благодаря пользователям cbr900 и 7OH, предоставивших свои алгоритмы создания ярлыка для клиент-серверного варианта, реализован и этот режим.
Также устранена ошибка, указанная пользователем tezin, заключавшаяся в том, что при создании ярлыка вылетала ошибка о невозможности присвоить значение переменной «РабочийСтол».
Теперь о нюансах.
В клиент-серверном варианте работы обработка работает корректно, создает правильный ярлык, НО возможна ситуация, что после запуска базы в режиме Конфигуратора с кодом разрешения не удается запустить отладку, т.к. база остается заблокированной. При этом, если отдельно запустить базу с кодом разрешения, то все нормально. С чем это связано пока не разобрался.
PS. Если в клиент-серверном варианте воспользоваться типовой обработкой, то результат — тот же: из Конфигуратора не запускается отладка.
Update от 05.10.2011
Реализована управляемая форма обработки, а также учтены замечания пользователей maxx и r0610201.
Хорошая штука! Главное, что механизм работает.
Для клиент-серверного варианта также хотелось быт увидеть))
Создание ярлыка вылетает с ошибкой
{ВнешняяОбработка.ОтключениеПользователей.МодульОбъекта(79)}: Поле объекта недоступно для записи (РабочийСтол)
РабочийСтол = WShell.SpecialFolders().Item(«Desktop»);
1. При открытии и после выполнения надо проверять, что блокировка есть.
Да и на блокировку надо ровняться а не на галочку про пользователей.
2. Вариант файл-серверного ярлыка
Показать
Немного проще и перед CONFIG слэш не нужен 😉
3. А вот идея отличная.
Спасибо cbr900 и 7OH, ваши замечания в ближайшее время учту.
tezin, это тот момент, о котором написал cbr900: нельзя использовать переменную с именем «РабочийСтол». Исправлю в скором времени.
Замечания учтены, ошибки исправлены.
Текст публикации и файл обработки обновлен.
ОФФ: Я смотрю мне за написание комментов СтартМани начисляется. Уже вижу, как публикации пестрят тучей ничего не значащих комментариев 😀
Посмотрим, как эти СтартМани аукнутся на качестве сайта.
Хммм. КрестНаПузе…
Крест на пузе.
Пьют без меры.
Кто такие?
Тамплиеры!
В случае, когда пользователь работает в УТ11 и у него остался не сохраненный документ, обработка НЕ МОЖЕТ завершить его сеанс, так как появляется сообщение «Сохранить изменения?».
Может, кто встречался с такой проблемой? Если да, поделитесь решением..
У меня не получилось завершить сессии, правда я пробовал это на своем же компе. Открыл несколько сессий, запустил обработку, но ничего не произошло. Ярлык для базы создался на рабочем столе.
Когда закрыл и попытался зайти, то уже не смог сие сделать, только через ярлык.
В чем может быть проблема?
Хорошая идея, особенно если нет возможности вносить изменения в конфу 🙂
(10) Да забыл отметить…. Качал обработку вчера около 18:00 по мск…. 🙂
Заметил, что типовая форма блокировки для БП 2.0 вообще нормально не работает! Буду пробовать с этим решением!
Спасибо за труд!
(9) Ledok, пробовал в разных конфигурациях для Украины (БП, УТП, УПП, ЗУП). Во всех случаях обработка выбрасывает пользователя, даже если у него открыт несохраненный документ/элемент справочника.
Происходит при этом следующее (с интервалом в 1 минуту):
1. Обработка честно сообщает, что работа завершается
2. Выскакивает окно с вопросом «Данные были изменены. Сохранить изменения?»
3. Опять обработка сообщает, что работа завершается
4. Работа, таки, завершается.
Сей опыт был проведен в нескольких базах путем простого наблюдения при политике невмешательства.
Что происходит в УТ сказать не могу. Однако, справедливости ради, хочется отметить, что начал прикручивать к обработке управляемую форму и в конфигурации УНФ такая же ситуация, как и у Вас: при открытом окне с несохраненными данными сеанс не сбрасывается.
Возможно, это просто нюанс управляемых форм, а возможно особенности конфигураций. Надо разбираться, но сие будет долгим процессом.
Damian, я уже давно пользуюсь самописным bat файлом, который делает тоже самое и отлично работает на большинстве баз,
а вот именно УТ11, как вы отметили с управляемыми формами, не работает.
Попробовала выполнить для БП 2.0 на платформе 8.2, сработало на ура.
Так что делаю вывод, что это связано с управляемыми формами…
Damian, все таки поясните что я не так могу делать….
конфа самописная… создаю на своем компе 2 разные сессии и никаких сообщений и завершений сеансов… 🙁
(16) Попробовала на типовой… действительно работает….. даже вопрос на выходе не помешал…. 🙂
странно что тогда может не хватает в самописе…. 🙁
(17) Единственно у меня сразу же заново начался перестарт этих двух сеансов (то же самое у меня было и в терминальных сессиях на сервере, когда я убиваю сеанс а он заново рисуется)….. (кстати, с чем это может быть связано?)
и те два убитых сеанса остались мотыляться в активных зверЪях…. пока не закрыл у себя последний конфигуратор…. 🙂
Спасибо, за обработку.
Damian, если получится понять что может не хватать в самописе, черканите, если мне удастся разобраться то отпишусь здесь.
Спасибо! пригодилась)
ая так делаю
СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();
Если Найти(ВРег(СтрокаСоединения), «FILE») <> 0 Тогда
File = «»;
Выполнить(СтрокаСоединения);
СтрокаСоединения = «/F»»» + File + «»»»;
Иначе
Srvr = «»; Ref = «»;
Выполнить(СтрокаСоединения);
СтрокаСоединения = «/S»»» + Srvr + «» + Ref + «»»»;
КонецЕсли;
Хотелось, бы конечно, чтобы можно было выбирать , кого блокировать.
Полезная вещица, пригодится…
очень полезна, ато часто если работают через удаленный рабочий стол на серваке есть зависшие сеансы.
респ
Прикольно )))))
Спасибо, очень полезно.
Спасибо, пригодилось
Спасибо, вещь незаменимая.
(0) Это шутка или намеренная дезинформация?
Не вводите людей в заблуждение, обработка никакие сеансы не отключает, а просто устанавливает блокировку соединений. А то, что сеансы отваливаются, так это заслуга механизма типовых конфигураций (поэтому у пользователя PVG_73 обработка «не работает»).
Или меняйте описание, или удаляйте обработку с сайта.
(30) Уважаемый, krv2k, подскажите, а что это за механизмы типовой. Просто времени разбираться не было, но понимаю, что сие должно лежать на поверхности… 🙂
(30) Руслан, позвольте с Вами не согласиться. Блокировка сеансов устанавливается не на уровне типовых конфигураций, а на уровне платформы. Почитайте синтакс-помощник, раздел «Глобальный контекст»-«Процедуры и функции работы с информационной базой»-«УстановитьБлокировкуСеансов».
Как Вы думаете, мы с Вами сможем написать конфигурацию, на которую эти правила распространяться не будут?
Хотя, смотря какую таблетку выбрать 🙂 (с) Matrix
(32) спасибо, синтаксис-помощник я читал. Еще раз повторюсь: не путайте «Блокировку сеансов» и «Завершение работы пользователей». Перед написанием следующего комментария, обязательно посмотрите как реализовано «Завершение работы пользователей» в типовых конфигурациях.
(31) Этот механизм основан на обработчике ожидания, подключаемом для каждого пользователя при входе в систему (вызывается каждые 60 секунд). В обработчике проверяется, установлена ли блокировка сеансов, и если установлена, то сеанс завершается.
(34) Спасибо, Руслан, нашел я этот кусок кода… 🙂
давно искал что то подобное. Спасибо за обработку.
Очень нужная и полезная штуковина….
Огромное спасибо за обработку
Спасибо, юзаем
Обязательно необходимо отметить, что работать это будет только в типовых конфигурациях. Чтобы это работало не только в типовых, надо завершать сеансы самому, через V82.COMConnector.
(40) не всегда получится — надо через DCOM, а это права и прочие проблемы.
а в самописках надо прописывать обработку параметра запуска аналогично как в типовых
Интересно, корректно ли обрабатывается случай когда в момент отключения пользователь редактирует информацию в БД?
Большое спасибо за обработку. Помогает в крупных фирмах корректно «отключать» большую часть сотрудников, а с отдельными лицами уже проще решить вопрос.
Огромное спасибо за труды))) Очень полезная утилита.
Спасибо! Очень нужна была такая обработка!
(42) mihas1001,
В любом случае можно будет протестировать БД средствами 1С на наличие ошибок.
на терминалке очень любят оставлять все, нужная вещь!
Спасибо, вещь хорошая, пригодится.
Спасибо огромное давно искала что-то подобное
мне очень пригодилась обработка,спасибо автору
Очень полезная штука, не раз пользовался.
Глюков не встречал.
Спасибо, лови плюс.
Спасибо!
Учтены замечания пользователей krv2k и r0610201 — описание изменено.
А также добавлена управляемая форма.
что-то не пойму что с файлом? Предприятие его не видит.
Спасибо! Главная проблема теперь решена. А то юзеров не выгонишь. Так работать хотят.
хотелось бы попробовать эту обработку… но пока нет денех 🙁
хотя пока вполне хватает стандартных средств… 🙂
Однозначно плюс
Спасибо!
За шаблоны отдельное спасибо!!!
Удобная штука для клиентского варианта. Но в «сервере» стандартная блокировка, через консоль, намного удобнее для меня.
Поигрался немного, но пользуюсь стандартными методами.
Спасибо очень удобно!
Спасибо огромное давно искала что-то подобное
ШИКАРНО! Кашерно ! Просто супер ! А то taskill уже надоело , да и не вежливо это. В файловой базе пока альтернативы не вижу.
Классная штука! особенно, когда приходишь к клиенту с большим количеством «медленных» сотрудников. недождешься, когда выйдут сами 🙂
+5
+100500 Спасибо! Уже пару раз пригодилась!
Спасибо, помогла выбросить юзера, который пару дней висел в файловой базе, и из-за не могли сохранить базу
и боялись перезагрузить комп ))
Выдаёт ошибку (клиент-серверный вариант):
Ошибка при прерывании соединений: {Форма.ФормаСписка.Форма(264)}: Ошибка при вызове метода контекста (ConnectAgent): Произошла исключительная ситуация (V81.COMConnector.1): Различаются версии клиента и сервера (8.1.15.14 — 8.2.14.519), клиентское приложение: COM-администратор
Спасибо! Однозначно в арсенал!
Заметил, что типовая форма блокировки неохотно выгоняет пользователей!
Буду пробовать с этим решением!
Спасибо за труд!
В файловом варианте работает хорошо… И список пользователей виден четко, никогда не задваивается, в отличае от типового монитора пользователей… Правда, вот этот ярлычек на рабочем столе…Каждый раз раз как-то думаешь » а вдруг потом сам войти не сможешь…» )))) это единственный недостаток )))
(74), не бойтесь, мой друг :)!
Если Вы запомнили код разрешения, который сами же и установили, то в базу всегда войти сможете.
В файловом варианте, на крайний случай, можно удалить файл 1Cv8.cdn из папки с базой для снятия всех блокировок.
Я немного не понял.
Как именно реализован процесс завершения работы пользователей в файловом варианте работы БД?
Я так понял из описания, что обработка имеет два основных отличия от типовой.
Но я не вижу как она может выполниться для «любой» конфигурации? Может имелось ввиду для любой типовой конфигурации? Если так, то опять же не вижу в чем ценность обработки, ведь нетиповую надо дорабатывать функционалом в модуле приложения с обработчиками ожидания и пр.
(76) dim0n_la,
Обработка, скажем так, упрощает типовой функционал по выгонялке пользователей ))) Интерфейс пользователя улучшен ))) а ценность в этом и заключается — удобнее работать… А если конфигурация совсем новая у вас, вы ее сами разработали, то конечно, придется встроить предварительно часть блока из типовых конфигураций….
Спасибо! Все просто и надежно…
Возьму на «вооружение» для небольших БД, стандарные 1С-кие обработки для завершения работы пользователей часто не срабатывают. Спасибо. Плюс +.
Здорово.Молодец.
Доброго времени суток!
Не слышно ли чего нового по поводу завершения работы пользователей для баз на управляемых формах (таких как Управление торговлей 11 и Управление небольшой фирмой ред.1.3) ?
до сих пор очень актуально,
а то уже замучилась по утрам убирать файлы блокировок..
(81), насчет нового не в курсе. А по поводу файлов — напишите батник, который будет удалять эти файлы за полчаса (час, два, в полночь 🙂 до начала рабочего дня.
Очень полезная обработка. Спасибо. После того, как закрыли права на использование консоли серверов и стало невозможно выкинуть из базы бухов (уходят в отпуск, сами в базе, а территориально находятся через пол-страны) Ваша обработка реально выручает.
У меня не работает почему-то. Запускаю в файловом варианте. Предупреждение выдает, а пользователей не выкидывает (хотя если поставить типовую блокировку — выкидывает)
В чем может быть причина?
Огромное спасибо! Незаменимая вещь!
Огромное спасибо! Незаменимая вещь!Ваша обработка реально выручает.
Возьму на «вооружение» для небольших БД, стандарные 1С-кие обработки для завершения работы пользователей часто не срабатывают. Спасибо. Плюс +.
Незаменимая вещь!
Отлично!!
Полезная штука!
у меня не работает на УТ, ничего не пойму, можно пошагово расписать, как работать с обработкой?
(91) на типовой УТ должно работать 100%. Что именно не работает?
(92)запускаю, ставлю галку «отключить пользователей», нажимаю «установить блокировку» и ничего не происходит((
ярлык на рабочем столе создается нормально
(92) разобралась )) надо похоже время с запасом ставить, не за минуту до завершения
Пользователей выкидывает и пускает обратно по времени, но не создается ярлык на рабочем столе((
УТ 11 8.2
Здоров разработчикам.
У меня не работает почему-то. Запускаю в файловом варианте. Предупреждение выдает, а пользователей не выкидывает
Может это из-за управляемой формы?
Что я не так делаю
У меня тоже самое (96), висит на предупреждении о завершении работы и не закрывается
Спасибо, большое за обработку, сейчас скачаю и протестирую. Типовая обработка отчего то не сработала, правда в слегка настроенной конфигурации, которая непонятно как обновлялась. Ставлю в ней блокировку, но вхожу легко и без пароля и конфигуратор не закрылся даже. Хотя раньше вроде бы пробовал и все получалось. Никто не знает в чем может быть дело?
Протестил, все работает. И очень удобно, что конфигуратор не закрывается. Правда, как быть, если его открыл не я? )) Выходит, что тот, другой пользователь не будет выгнан?
+1, но сейчас можно указать в настройках подключения к ИБ на последней вкладке «Дополнительные параметры запуска» ключ /UC<код_разблокировки>, например /UC012345 — и никаких ярлыков создавать не нужно будет…
(7) а как иначе не за деньги получить местные разработки?