Модуль контроля сеансов 1С для клиент-серверного варианта баз данных
Область применения
В больших компаниях часто наблюдается нехватка приобретённых лицензий на программное обеспечение 1С. Даже при приобретении значительного количества лицензий всегда находится пользователь, которому недоступна необходимая лицензия.
В ответ на данную проблему был разработан модуль, который позволяет ограничить способность 99% пользователей открывать повторные сеансы в одной и той же базе данных. Для 1% пользователей, нуждающихся в многопользовательском доступе к одной базе данных, сохраняется возможность подключения без каких-либо ограничений.
Для обеспечения корректного функционирования модуля также был создан скрипт, который при повторном подключении пользователя к базе данных, в которой уже существует активный сеанс, автоматически завершает все текущие сеансы этого пользователя, освобождая тем самым лицензию для нового подключения.
Технические требования
В состав поставки входит:
- файл расширения;
- скрипт на PowerShell для завершения сеансов пользователя, работает под ОС Windows.
Расширение предназначено для работы с клиент-серверным вариантом 1С. Поддерживаются любые системы СУБД SQL
Расширение функционирует с любой конфигурацией 1С. Проверена работа на следующих конфигурациях и релизах:
• 1С:Управление торговлей 11.5.16.
• 1C:Комплексная автоматизация 2.5.18.
• 1С:ERP Управление предприятием 2.5.18.
• 1С:Зарплата и управление персоналом 3.1.30.36.
• 1С:Бухгалтерия предприятия 3.0.158.23.
• 1C:Управление нашей фирмой 3.0.9.136.
Код закрыт.
Внимание! Расширение не работает на БАЗОВЫХ конфигурациях (в базовых конфигурациях 1С, возможности подключения расширений - отсутствуют)!
Функциональные возможности
Для включения запрета более 1-го сеанса пользователя следует воспользоваться обработкой Настройки для управления сеансами (ABCraft).
Доступ к обработке осуществляется через общий список объектов. Общий список объектов открывается с помощью пункта "Функции для технического специалиста".
В открывшемся окне отмечаем опцию Запрет нескольких сеансов включен. Затем требуется определить, каким образом будут завершаться сеансы пользователя. Завершение сеансов возможно с помощью:
- сервера администрирования (RAS);
- скрипта для PowerShell.
Если выбран вариант Сервер администрирования (RAS), то в этом случае:
- сервер администрирования (RAS) должен быть установлен, а также должна быть запущена соответствующая служба;
- кластер должен иметь администратора;
- должен быть настроен доступ к исполняемому файлу rac.exe, расположенному в каталоге установки 1С: Предприятие 8.3;
- должны быть указаны параметры для подключения к серверу администрирования (RAS).
Примечание. Имя информационной базы в кластере чувствительно к верхнему и нижнему регистрам, в связи с этим оно вынесено отдельно в настройки.
Если выбран вариант "Скрипт PowerShell", то необходимо указать путь к файлу со скриптом (входит в состав поставки)
После установки настроек нажимаем кнопку Записать и закрыть.
Создание исключения для пользователя
В модуле также предусмотрена возможность добавления пользователей в исключения. Для таких пользователей наличие других сеансов не будет отслеживаться системой.
Сначала создаем настройку, позволяющую задать исключение для пользователя. В разделе НСИ и администрирование / Общие настройки отмечаем опцию Свойства. Далее нажимаем на пункт Дополнительные сведения.
Позиционируем курсор на элементе Пользователи и в меню Добавить выбираем Новое.
Далее в поле Наименование вводим текст Отключить запрет нескольких сеансов, а в поле Тип значения выбираем Булево.
Нажимаем кнопку Записать и закрыть. Настройка создана.
Для отмены запрета более 1-го сеанса в карточке пользователя необходимо открыть дополнительные сведения. Далее выбрать значение Да в соответствующем поле и нажать кнопку Записать и закрыть.
Вход пользователя в систему
Модуль позволяет автоматически отслеживать сеансы пользователя. Если у пользователя есть открытый сеанс, и он повторно входит в систему, то ему будет предложено либо остаться в текущем сеансе, завершив предыдущий, либо завершить текущий сеанс.
При нажатии кнопки Да предыдущий сеанс будет завершен с предупреждением.
При нажатии кнопки Нет работа пользователя в текущем сеансе будет завершена.