Управляемый пользователями запрет запуска лишнего сеанса (управляемые формы)

08.02.24

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

Случается, что в работе сеанс зависает, или к нему пропадает доступ в динамически выделяемом терминале, или другие случаи. Пользователь открывает новый сеанс, тратит лицензию, при этом лицензия "прошлого" сеанса всё так же занята, потому что сеанс активен, не закрыт. Идёт перерасход лицензий, и кому-то их просто не хватает. Данная обработка позволит экономить лицензии: при старте "лишнего" сеанса самому пользователю дано выбрать: закрыть только что начинаемый сеанс (вернуться в ранее начатый) или закрыть начатый ранее сеанс, который, возможно, уже давно недоступен или "завис", "глюкнул". Выполнено в ЗУП КОРП 8.3.22.2239 / 3.1.28.64 Подойдёт и для других управляемых форм на адекватном уровне БСП.

Файлы

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

Наименование Скачано Купить файл
Управляемый пользователями запрет запуска лишнего сеанса (упр. формы):
.cfe 12,65Kb
17 3 000 руб. Купить

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

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

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

За идею спасибо Владимиру. 

Но его обработку переработал порядка на 90%, как по функционалу, так и по логике. 

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

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

Наименование (заголовок), описание и т.д. задайте сами, какое хотите.  

Тип значений - булево. 

Имя (для разработчиков) - строго "_РазрешеноЗапускать2сеанса" (ну или вы сами измените, если будете дорабатывать "под себя").

 

 

Здесь это право даётся пользователю



Функционал обработки, проверки. Примечание, функционал делался под "наши нужды", кому надо иначе - код открыт.

Шаг 1.  Это файловая база? Да - проверки закончили и новый сеанс можно, иначе продолжаем (мы работаем в клиент-серверном варианте). 

Шаг 2. Роли пользователя стартующего сеанса. Если есть «Полные права» или «Администратор» тогда сеанс разрешён, иначе идём дальше (полным правам нет лимитов).

Шаг 3. Считаем, сколько уже запущено сеансов в этой базе этим пользователем.  При этом в проверяемых сеансах «Полное имя» пользователя не должно быть пустым, а имя приложения должно быть «1CV8C» или «1CV8»  (толстый или тонкий клиент). Другие соединения типа "фоновый процесс", COM, designer ... не считаем.

Если ещё не запущен ни один сеанс, тогда стартуем, иначе дальше.

Шаг 4. Проверяем, можно ли пользователю иметь 2 сеанса.
Если можно и ранее запущен всего один сеанс, тогда разрешаем новый сеанс, иначе дальше. 

Шаг 5. Если число сеансов, с учетом запускаемого, превышает допустимое, тогда выводим пользователю такое предупреждение с правом выбора:
(примечание - под краской скрыты имя сервера и имя базы)

 

 

Шаг 6.  Если пользователь выбирает "да", сразу закрывается этот только что начинавшийся сеанс. 
Если выбирает "нет", тогда новый сеанс остаётся, а "лишние" ранее начатые удаляются. 
(примечание - под краской скрыто имя пользователя)



Подсказка внедряющему.

В обработке учтены пустые логин и пароль "администратора кластера серверов". 

Вы можете написать свою логику получения логина и пароля в этом методе.

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

Например, справочник или регистр сведений, доступ к которому имеют только "полные права".

 

 

Эффект. Мониторинг сеансов (консолью администратора кластера серверов) в течение недели до внедрения показывал, что в корпоративной базе было от 50 до 100 повторных и более сеансов, общее число под 400 и выше.

Сейчас пиково 330, ноль двойных. То есть в среднем 70 лицензий мы не тратим напрасно, и они достаются пользователям других баз 1С.

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

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

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

См. также

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

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

24900 руб.

20.08.2024    60963    323    160    

294

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

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

17000 руб.

10.11.2023    23752    85    42    

100

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 1С 8.3 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

21960 руб.

06.12.2023    21261    74    10    

106

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

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

14640 руб.

29.04.2020    48447    129    158    

87

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

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

12200 руб.

06.02.2017    35354    149    18    

54

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

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

5490 руб.

10.11.2015    65584    101    59    

83
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. siamagic 08.02.24 18:58 Сейчас в теме
Ерунда оторванная от жизни, как правило дело не в двух сеансах а в том что люди ушедшие со смены не закрыли свои сеансы, а 1с гоняет туда сюда бесполезные данные и с первого взгляда таких не видно.
2. Vinzor 118 08.02.24 19:21 Сейчас в теме
(1) Ну это в ваших реалиях "оторвано от жизни". В наших - я привёл статистику по двойным сеансам. А лицензии не бесконечные, и это позволяет их экономить в течение дня до ночи, когда по расписанию рубятся все сеансы "прошлого дня".
3. siamagic 14.02.24 18:37 Сейчас в теме
(2)Мы также начинали, но Вася 4 часа ничего не делал - зачем этот сеанс?
4. Vinzor 118 14.02.24 19:23 Сейчас в теме
(3) Вам виднее, зачем ему этот сеанс )
Что вы здесь хотите? Здесь конкретная задача и решение.
Для мониторинга активности запущенных сеансов с целью их принудительного прекращения "по бездействию" есть другие решения.
Для отправки сообщения требуется регистрация/авторизация