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

03.07.25

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

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

Файлы

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

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

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

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

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

ВАЖНО: Если расширение добавляете через конфигуратор, необходимо предварительно в базе создать 2 дополнительных свойства, как описано в следующих пунктах. Иначе при запуске конфигурации в режиме Предприятия будет ошибка.

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

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

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

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

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

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

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

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

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

Вступайте в нашу телеграмм-группу Инфостарт

См. также

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

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

8400 руб.

20.08.2024    40744    222    115    

212

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

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

16000 руб.

10.11.2023    18856    76    39    

92

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

19200 руб.

06.12.2023    17128    64    10    

98

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

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

14400 руб.

29.04.2020    39140    115    152    

82

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

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

5200 руб.

21.07.2022    11880    14    4    

22

HighLoad оптимизация Инструменты администратора БД Системный администратор Программист 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих запросов на sql, ожиданий, конвертация запроса в 1С и рекомендации, где может тормозить.

5 стартмани

15.02.2024    17284    321    ZAOSTG    100    

122

Инструменты администратора БД 1С v8.3 1C:Бухгалтерия Платные (руб)

Контролируйте, кто и что менял при работе в базах 1С: создание, правки, удаление, поиск потерявшихся данных, вычисление злоумышленников. Подсистема содержит 10 точных отчетов, гибкая настройка контроля. Не тормозит работу, не грузит базу 1С. Позволяет контролировать работу пользователей удаленно со смартфона.

14280 руб.

07.07.2023    8393    1    7    

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

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

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

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

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

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


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

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


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

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

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

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


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

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



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

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

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

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

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

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

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

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

А если у вас дерзкие пользователи, значит ИТ наверное всегда в запарке и всегда во всем виновато))) ну это уже как бы ваши проблемы и не мне вас судить.
6. Darklight 34 27.09.18 15:28 Сейчас в теме
(5)У нас как раз чем больше сеансов открыто - тем нам лучше - дочерним компаниям мы сдаём лицензии в аренду - и считаем макс число открытых сеансов в день по организациям - выставляем в конце месяца счет!
Пока лишь просто ограничились макс числом сеансов на пользователя, и ночью все (не находящиеся в исключении) сеансы закрываются.
3. mityushov.vv 264 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 110 20.10.23 12:14 Сейчас в теме
При попытке запуска на Бухгалтерия предприятия 3.0.141.39 выдает ошибку
Значение не является значением объектного типа (ЭтоДополнительноеСведение)
{ОбщийМодуль.УправлениеСвойствами.Модуль(1152)}:Если СтрокаТаблицыСвойств.Свойство.ЭтоДополнительноеСведение Тогда
{ОтключитьПользователяЧерез2Часа ОбщийМодуль.ПолныеПраваМодуль.Модуль(31)}:УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(ПараметрыСеанса.ТекущийПользователь, ТаблицаСвойств);
{ОтключитьПользователяЧерез2Часа ОбщийМодуль.КлиентГлобальный.Модуль(4)}:ПолныеПраваМодуль.УстановитьВремяНачалаСеанса();
{ОтключитьПользователяЧерез2Часа ОбщийМодуль.СтандартныеПодсистемыКлиент.Модуль(4)}:КлиентГлобальныйПриНачалеРаботыСистемы();
{МодульУправляемогоПриложения(61)}:СтандартныеПодсистемыКлиент.ПриНачалеРаботыСистемы();
9. mityushov.vv 264 20.10.23 12:17 Сейчас в теме
(8) Добрый день. А дополнительные свойства в конфигурации вообще есть? Вы их заполнили как описано в инструкции?
10. aleksandr_leiman 110 20.10.23 13:38 Сейчас в теме
(9)Да, доп. свойства у справочника Пользователи добавлены. Ошибка та же.
11. mityushov.vv 264 20.10.23 14:14 Сейчас в теме
(10) А на более раннем релизе работало?

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

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

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

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

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

Если нужно пишите мне в личные сообщения и я доработаю
18. alivkir 21.08.24 13:48 Сейчас в теме
я купил это расширение и оно не работает как такое возможно? куда инфостарт смотрит?
19. mityushov.vv 264 21.08.24 13:49 Сейчас в теме
(18) Добрый день. На какой конфигурации не работает какие ошибки выдаются?
Вы все в точности сделали по инструкции? Если где то ошиблись, оно может не работать
20. webresurs 230 24.04.25 06:44 Сейчас в теме
Подскажите , а как можно доработать, что бы в 12:00 данная обработка еще срабатывала?
21. mityushov.vv 264 24.04.25 09:44 Сейчас в теме
(20) Добрый день. В процедуре "ПроверитьНеобходимостьДальнейшейРаботыПользователя()" можно дописать код что бы проверка еще осуществлялась и в 12-00 по времени. И отключать пользователя. Скрин данной процедуры есть выше в переписке
22. roman_1993 4 03.07.25 11:21 Сейчас в теме
Добрый день. При подключении Автоматическое отключение пользователя из системы 1С:Предприятие (Режим совместимости "Не использовать") пишет, что Значение контролируемого свойства РежимСовместимости у объекта не совпадает со значением в расширяемой конфигурации УТ 11.5.17.190
23. mityushov.vv 264 03.07.25 11:25 Сейчас в теме
(22) Добрый день. Попробуйте поставить режим совместимости у расширения такое же как у вашей конфигурации. Должно заработать. Это в конфигураторе нужно сделать после загрузки расширения
24. roman_1993 4 03.07.25 11:46 Сейчас в теме
(23) Поставил Версия 8.3.24. Но начинаешь заходить пишет либо перезапустить либо завершить. Пришлось удалить расширение
25. mityushov.vv 264 03.07.25 12:11 Сейчас в теме
(24) А вы дополнительное свойство у пользователя добавили как указано в инструкции к публикации?
Читайте внимательно инструкцию и делайте по ней. И все должно заработать. Важно что бы имя для разработчиков и тип доп реквизита были указаны такие же как на скринах.

Пишу тут имена что бы руками не набирать, вставлять нужно без кавычек:
"_ВремяНачалаСеанса"
"_ВремяРаботыПользователя"

На базе ЕРП проверил, все работает у меня
26. roman_1993 4 03.07.25 13:00 Сейчас в теме
(25) Тут даже дело до этого не доходит. Ладно попробую разобраться из-за чего так
27. mityushov.vv 264 03.07.25 13:30 Сейчас в теме
(26) Так из за этого эта ошибка и возникает. Вначале нужно доп свойства в базе создать и потом подцеплять расширение. Тогда ошибок не должно быть
28. roman_1993 4 03.07.25 13:45 Сейчас в теме
(27) Ясно. Но исходя из ваших рекомендаций, сначала нужно подключить расширение, затем только создавать доп. сведения. У вас и скриншоты так расположены.
29. mityushov.vv 264 03.07.25 14:42 Сейчас в теме
(28) Если загружать расширение в режиме предприятия тогда все нормально. Но так как вы меняли режим совместимости у расширения и загрузили его через конфигуратор, тогда да ошибка если нет доп.свойств.

Допишу в инструкции этот момент
Для отправки сообщения требуется регистрация/авторизация