Автоматическое отключение пользователя из системы 1С:Предприятие в случае, когда пользователь не работает в запущенном сеансе

25.12.24

База данных - Инструменты администратора БД

Доработка сделана через расширение, платформа 8.3.12.1529 (8.3.11.2867), работает на конфигурациях 1С: ЗУП, БП, КА, ERP и т.д. в общем на всех основных конфигурациях 1С: Предприятие. Часто бывает, что в организации пользователь с утра запускает 1С и уходит на весь день по своим делам, а лицензия израсходована. Для оптимизации использования лицензий на предприятии и сделана данная доработка. Доработка позволяет в автоматическом режиме выбрасывать пользователей из системы 1С если пользователь не работает в системе. По умолчанию проверка активности пользователя происходит через 2 часа после запуска системы, но данный параметр можно настраивать отдельно для каждого пользователя. Если пользователь не активен его сессия закрывается. Расширение работает как в клиент - серверном так и в файловом варианте работы 1С

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Автоматическое отключение пользователя из системы 1С:Предприятие (Режим совместимости "Версия 8.3.10")
.cfe 9,01Kb
29
29 Скачать (2 SM) Купить за 2 150 руб.
Автоматическое отключение пользователя из системы 1С:Предприятие (Режим совместимости "Не использовать")
.cfe 8,96Kb
45
45 Скачать (2 SM) Купить за 2 150 руб.

Скачиваем расширение и проделываем следующие шаги. В приложенных файлах 2 расширения одно с режимом совместимости "Версия 8.3.10", второй файл без режима совместимости для самых "свежих" конфигураций.

Добавляем расширение в конфигурацию

По кнопке "Добавить" загружаем скаченное расширение

Отключаем "галочку" - "Безопасный режим, имя профиля"

Добавляем 2 новых значения в "Дополнительных сведениях"

Для справочника "Пользователи" добавляем 2 новых значения

ВАЖНО!!! Тип значения и имя свойство должно полностью соответствовать тому что указано на скринах

Далее, при необходимости если нужно для какого то из пользователей установить время работы в системе менее или более 2 часов. Заходим в справочник "Пользователя" и для необходимого пользователя устанавливаем значение "Время работы пользователя (минуты)".

Кстати, если у кого то нету доступа к консоли серверов, а пользователя нужно отключить. Можно у необходимого пользователя поменять время начала сеанса (сделать минус 2 часа) и в течении 15 минут пользователь будет отключен от системы. Проверка осуществляется каждые 15 минут.

В момент проверки активности пользователя, выходит информационное окно с вопросом о подтверждении дальнейшей работы пользователя в системе. Если пользователь отвечает утвердительно, он остается работать в системе до следующей проверки активности.

P.S. коллеги если вам понравилась публикация, не забываем проставлять "звездочки" в рейтинге разработки.

Проверено на следующих конфигурациях и релизах:

  • Зарплата и управление персоналом, редакция 3.1, релизы 3.1.6.54

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    12612    99    42    

101

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

18000 руб.

06.12.2023    10010    48    5    

78

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    190552    1150    0    

918

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    11396    40    27    

66

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    33585    109    152    

74

Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Брандмауэр для сервера 1С включает в себя управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

3600 руб.

06.02.2017    32489    145    18    

51

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    73528    629    45    

88

Инструменты администратора БД Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    10091    9    4    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Darklight 33 27.09.18 13:53 Сейчас в теме
"Грубое решение" на мой взгляд. С пользователями надо как-то по-деликатнее обходиться. Не многим понравится получать такой вопрос по среди экрана в запарке заполнения какого-то важного документа, со сбросом фокуса ввода, хоть и с периодичностью 2 часа. В управляемом приложении я бы ж/р сначала анализировал - если за последний час там есть события (как в конфигурациях на упр. прил. даже отчеты там оставляют следы), то ничего не спрашивал бы.

Ещё есть разные способы по отслеживанию открываемых окон - если открывались - то не спрашивал бы.

Ну и сам вопрос надо как-то аккуратнее выдавать. Может быть через оповещения пользователю (с версии 8.3.10 как раз можно фидбеки получать при нажатии).

А если уж задаёте вопрос - то пользователь случайно, в запарке, может нажать нет - и закрыть свою сессию с несохранёнными данными.
Зачем "вопрос" - вообще не ясно - пользователь либо реагирует, либо не реагирует - если его нет рядом. Достаточно было и простого предупреждения с таймаутом на закрытие (вопрос с одной кнопкой - т.к. предупреждение не умеет отслеживать событие таймаута).

Кстати, не видно на кнопке "Нет" таймаута - вопрос же будет висеть "вечно"!

Я вот так бы написал алгоритм вопроса (в самом простом виде - написано для контекста формы для простоты):


&НаКлиенте
Процедура ВопросПользователю()
	Кнопки = Новый СписокЗначений();
	Кнопки.Добавить(КодВозвратаДиалога.Да,"Да");
	оп = Новый ОписаниеОповещения("ОтветПользователя",ЭтаФорма);
	ПоказатьВопрос(оп,"Вы тут?",Кнопки,60,,"1С Предприятие ещё нужно?");
КонецПроцедуры

&НаКлиенте
Процедура ОтветПользователя(Результат, ДопПараметры) экспорт
	Если Результат = КодВозвратаДиалога.ТаймаутТогда
		ЗавершитьРаботуСистемы(Ложь); //Хотя, по-хорошему, пользователю нужно дать ещё один шанс подтвердить что он тут по-позже ещё вернётся и будет работать
	КонецЕсли;
        СбросТаймера();
КонецПроцедуры
Показать


Хотя странно - у меня в таком виде тоже не видно таймера отсчета таймаута на кнопке "Да" - хотя реально таймер срабатывает и возвращает результат "КодВозвратаДиалога.Таймаут". При этом, что ещё страннее, если написать так
"ПоказатьВопрос(оп,"Вы тут?",Кнопки,60,,,КодВозвратаДиалога.Да);"
т.е. задать результат для таймаута - всё равно возвращает по таймауту "КодВозвратаДиалога.Таймаут" (но при этом на кнопке возникает отсчет таймаута).

Хотя я бы, всё-таки, использовал оповещение, а не вопрос:

&НаКлиенте
Процедура Команда1(Команда)
	оп = Новый ОписаниеОповещения("ОтветПользователя",ЭтаФорма);
	ЗапускПоследнегоОтсчета();
	ПоказатьОповещениеПользователя("Нажмите, если Вы тут",оп,"Иначе закроем 1С: Предприятие",БиблиотекаКартинок.ТревожнаяКартинка,СтатусОповещенияПользователя.Важное,"Нажмите, если Вы тут");
КонецПроцедуры

&НаКлиенте
Процедура ОтветПользователя(ДопПараметры) экспорт
	СбросТаймера();
КонецПроцедуры
Показать


Но тут сложнее - нет события таймаута - его нужно отслеживать в овертайме счетчика основного таймера!

И пользователю нужно дать ещё 1-2 шанса ответить - а вдруг он в канун того самого момента таймера вышел.... ээээ.... срочно в туалет или его вызвал начальник - а у него важные дела открыты в 1С и не сохранены.... вот возвращается он - а тут .... всё пропало!



Но главное - такое решение, скорее всего, не решает проблему зависших сессий (там, скорее всего и код вопроса то не отработает) - их нужно отдельно на сервере отслеживать и закрывать.
Dream_kz; +1 Ответить
2. mityushov.vv 261 27.09.18 14:37 Сейчас в теме
(1) Много написали)))
Да вариантов реализации много, хотите допилите сами.
Но данное решение работает уже не в одной организации и ничего пользователи не возмущаются.
Наоборот это решение дисциплинирует пользователя при работе с системой. Не надо куда то убегать ничего не сохранив в 1С.
А если пользователь в запарке куда то там нажал, ну надо значит воспитывать таких пользователей что бы в запарке они никуда не нажимали.
Это из области "Я ехала на мерседесе и засмотрелась в телефон и врезалась" Кто в этом виноват производители Мерседеса?

Да вопрос зависших сеансов эта доработка не решает, зависшие сеансы иногда и через консоль серверов "убить" не получается, только помогает перезапуск агента сервера.

Зато эта доработка решает вопрос с нехваткой лицензий очень, очень хорошо, и экономит большие деньги для организации на покупку доп лицензий.

Представляете в той организации где я ранее работал было 800 пользователей, и если они откроют по одному разу 4-5 разных баз и убегут в туалет на 5 часов. Там вообще ни каких лицензий не хватит.
4. Darklight 33 27.09.18 14:52 Сейчас в теме
(2)Это будет больше похоже не на воспитание а на дрессировку. Ну, не мне Вас судить. Не жалуются - ну и хорошо. У меня бы вой был бы на всю компанию! Пользователи тут ого-го с каким норовом есть. Да и простой офисный планктон бы тоже ещё тот писк поднял бы!

А контроллировать многократно занятые лицензии - лучше через web-сервис, и механизм "Внешнее управление сеансами" - через обработку каждого нового сеанса. Там и число сеансов можно ограничить на пользователя (причем по своей логике и классификации пользователей). Вести учет числа занятых лицензий и заниматься поиском как зависших сеансов, так и сеансов с отлучившимися надолго, сотрудниками - когда лицензий станет не хватать.

ну а вообще-то, если пользователи часто открывают по куче баз - лучше использовать аппаратные ключи - экономически более выгодно - на крайняк - ставить лицензии на компьютеры (если, конечно, речь не идёт о работе в web, хотя на лицензии на копьютеры, кажется, и в терминальном сервере тоже нельзя использовать).
graphbuh; +1 Ответить
5. mityushov.vv 261 27.09.18 15:19 Сейчас в теме
(4) У нас как раз вся работа через терминальный сервер и планируется работа через web.
Тем более уже лицензии куплены и стоят на сервере, один ключ. На каждый компьютер покупать нет возможности и так далее.

Тем более эта разработка рассчитана как на работу в клиент-серверном так и в файловом режиме работы 1С. Кстати про это надо написать, забыл.

А тут просто скачивается расширение ставиться на базу 5 минут без каких либо доработок системы и снятия ее с поддержки.

А если у вас дерзкие пользователи, значит ИТ наверное всегда в запарке и всегда во всем виновато))) ну это уже как бы ваши проблемы и не мне вас судить.
6. Darklight 33 27.09.18 15:28 Сейчас в теме
(5)У нас как раз чем больше сеансов открыто - тем нам лучше - дочерним компаниям мы сдаём лицензии в аренду - и считаем макс число открытых сеансов в день по организациям - выставляем в конце месяца счет!
Пока лишь просто ограничились макс числом сеансов на пользователя, и ночью все (не находящиеся в исключении) сеансы закрываются.
3. mityushov.vv 261 27.09.18 14:40 Сейчас в теме
(1) Таймаут кстати у меня 5 минут, можно поменять при желании

&НаКлиенте
Процедура КлиентГлобальныйПриНачалеРаботыСистемы() Экспорт
	
	ПолныеПраваМодуль.УстановитьВремяНачалаСеанса();
	
	ПодключитьОбработчикОжидания("ПроверитьНеобходимостьДальнейшейРаботыПользователя", 900);

КонецПроцедуры

&НаКлиенте
Процедура ПроверитьНеобходимостьДальнейшейРаботыПользователя() Экспорт
	
	ВремяРаботыВБазе = 120;
	ВремяНачалаСеанса = ПолныеПраваМодуль.ПолучитьВремяНачалаСеанса();
	Если ЗначениеЗаполнено(ВремяНачалаСеанса) Тогда 
		ВремяРаботыПользователя = ПолныеПраваМодуль.ПолучитьВремяРаботыПользователяВСистеме();
		Если ВремяРаботыПользователя > 0 Тогда
			ВремяРаботыВБазе = ВремяРаботыПользователя;
		КонецЕсли;
		
		Если ТекущаяДата() - ВремяНачалаСеанса > ВремяРаботыВБазе * 60 Тогда
			ПоказатьОповещениеПользователя("! Завершение работы 1С !");
			
			Режим = РежимДиалогаВопрос.ДаНет;
			Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопроса",СтандартныеПодсистемыКлиент);
			ПоказатьВопрос(Оповещение, "Система запрашивает необходимость продолжения работы с информационной базой." + Символы.ПС + "Продолжить работу?", Режим, 300);
		КонецЕсли;	
	КонецЕсли;		
	
КонецПроцедуры
Показать
7. yurazyuraz 14.07.23 10:18 Сейчас в теме
В механизм имеет смысл добавить решение , которjt будет отключать пользователей
скажем после 21 часа , для всевозможных технических работ.
8. aleksandr_leiman 109 20.10.23 12:14 Сейчас в теме
При попытке запуска на Бухгалтерия предприятия 3.0.141.39 выдает ошибку
Значение не является значением объектного типа (ЭтоДополнительноеСведение)
{ОбщийМодуль.УправлениеСвойствами.Модуль(1152)}:Если СтрокаТаблицыСвойств.Свойство.ЭтоДополнительноеСведение Тогда
{ОтключитьПользователяЧерез2Часа ОбщийМодуль.ПолныеПраваМодуль.Модуль(31)}:УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(ПараметрыСеанса.ТекущийПользователь, ТаблицаСвойств);
{ОтключитьПользователяЧерез2Часа ОбщийМодуль.КлиентГлобальный.Модуль(4)}:ПолныеПраваМодуль.УстановитьВремяНачалаСеанса();
{ОтключитьПользователяЧерез2Часа ОбщийМодуль.СтандартныеПодсистемыКлиент.Модуль(4)}:КлиентГлобальныйПриНачалеРаботыСистемы();
{МодульУправляемогоПриложения(61)}:СтандартныеПодсистемыКлиент.ПриНачалеРаботыСистемы();
9. mityushov.vv 261 20.10.23 12:17 Сейчас в теме
(8) Добрый день. А дополнительные свойства в конфигурации вообще есть? Вы их заполнили как описано в инструкции?
10. aleksandr_leiman 109 20.10.23 13:38 Сейчас в теме
(9)Да, доп. свойства у справочника Пользователи добавлены. Ошибка та же.
11. mityushov.vv 261 20.10.23 14:14 Сейчас в теме
(10) А на более раннем релизе работало?

Значит 1С на последнем релизе что то исправили. По ходу что то по БСП поменяли
12. mityushov.vv 261 20.10.23 14:18 Сейчас в теме
(10) Если есть возможность выложить ДЕМО базу этого релиза БП 3.0 и прислать мне ссылку для скачивания. Я посмотрю и исправлю. Так же пришлите свой адрес эл.почты что бы на него мог отправить исправленный вариант.

У меня нет подписки на ИТС на БП, есть только обновление. Но это долго обновлять.

Пришлите ссылку на dt-файл демо базы этого релиза я исправлю
13. aleksandr_leiman 109 20.10.23 14:33 Сейчас в теме
(12)Написал личное сообщение
14. mityushov.vv 261 20.10.23 15:24 Сейчас в теме
(13) Читаем внимательно инструкцию какие имена нужно вставлять в доп.свойствах.

Написал личное сообщение еще раз что нужно сделать
17. aleksandr_leiman 109 21.10.23 17:42 Сейчас в теме
(14)Спасибо! Все получилось!
15. roman_1993 4 20.10.23 15:45 Сейчас в теме
А можете доработать свое расширение не для всех пользователей базы, а лишь для определенных пользователей или в
идеале для групп пользователей причем с разной проверкой времени? Скажем группу 1 проверяет каждые 2 часа , а группу 2 каждый час.
16. mityushov.vv 261 20.10.23 15:49 Сейчас в теме
(15) Там есть второе доп свойство в котором вы можете самостоятельно всем проставить через какое время нужно проверять этого пользователя. Можете сами написать обработку и всем проставить.

А если нужно как то особенно доработать, конечно можно все сделать, только это стоит денег.

Если нужно пишите мне в личные сообщения и я доработаю
18. alivkir 21.08.24 13:48 Сейчас в теме
я купил это расширение и оно не работает как такое возможно? куда инфостарт смотрит?
19. mityushov.vv 261 21.08.24 13:49 Сейчас в теме
(18) Добрый день. На какой конфигурации не работает какие ошибки выдаются?
Вы все в точности сделали по инструкции? Если где то ошиблись, оно может не работать
Оставьте свое сообщение