Ограничение по количеству сессий пользователей

30.09.11

Разработка - Универсальные функции

Если терминальный сервер не "резиновый", то пользователям можно запретить плодить открытые 1с.

У нас возникла проблема с некоторыми терминальными серверами (старенькими), пользователи формируя отчет (если отчет формируется долго), открывают еще одну сессию, и работают в ней, и так много раз. А памяти 1с к сожалению отъедает дай боже. Вот и пришлось сделать такие изменения:

В модуле приложения ПриНачалеРаботыСистемы добавил вызов такой процедуры:

 

Процедура ПроверкаВозможностиОткрытияЕщеОднойСессии(Пользователь)
   
#Если Клиент Тогда
       
Если Не РольДоступна("ПолныеПрава") Тогда
           
ИтогСписокСоединений = Новый ТаблицаЗначений;
           
ИтогСписокСоединений.Колонки.Добавить("Пользователь");
           
ИтогСписокСоединений.Колонки.Добавить("КоличествоСоединений");

           
СоединенияИнформационнойБазы = ПолучитьСоединенияИнформационнойБазы();

            Для Каждого
Соединение Из СоединенияИнформационнойБазы Цикл

               
ТЗ=ИтогСписокСоединений.Добавить();
               
ТЗ.Пользователь=СокрЛП(Соединение.Пользователь.Имя);
               
ТЗ.КоличествоСоединений = 1;

            КонецЦикла;
           
Отбор=Новый Структура("Пользователь",СокрЛП(Пользователь.Код));
           
ОтборПользователя=Новый Структура("Пользователь",Пользователь);
           
Нашли=ИтогСписокСоединений.НайтиСтроки(Отбор);
           
//Получим сколько соединений разрешено
           
КоличествоРазрешенных=РегистрыСведений.КоличествоСессийПользователя.СрезПоследних(,ОтборПользователя);
            Если
КоличествоРазрешенных.Количество()=0 Тогда
               
КоличествоРазрешенныхСессий=1;
            Иначе
               
КоличествоРазрешенныхСессий=КоличествоРазрешенных.Получить(0).КоличествоДополнительныхСессий+1;
            КонецЕсли;
           
//Проверим, а вдруг это ADM входит
           
сеть = новый ComОбъект("wscript.network");
           
ПользовательОС="\\"+сеть.UserDomain+"\"+сеть.UserName;
            Если
ВРег(Соединение.Пользователь.ПользовательОС)=ВРег(ПользовательОС) Тогда
               
//Проверим а есть ли разрешенные сессии
               
Если Нашли.Количество()>КоличествоРазрешенныхСессий Тогда
                   
Предупреждение("Превышено количество разрешенных сессий.",5,"Система ограничений");
                   
ЗавершитьРаботуСистемы(Ложь, Ложь);
                    Возврат;
                КонецЕсли;
            КонецЕсли;
           
нНомерТекущегоСоединения=НомерСоединенияИнформационнойБазы();
        КонецЕсли;
   
#КонецЕсли
КонецПроцедуры

 

Регистр простейший Пользователь/КоличествоДополнительныхСессий периодический

P.S. Если есть АД то в случае Авторизации через ОС еще полезная штука для тестировщиков.

 

См. также

Вставляем картинку из буфера обмена (платформа 1С 8.3.24)

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    2670    0    John_d    8    

54

GUID в 1С 8.3 - как с ними быть

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    4608    atdonya    22    

45

Переоткрытие внешних обработок

Универсальные функции Платформа 1С v8.3 Бесплатно (free)

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

30.11.2023    3961    ke.92@mail.ru    16    

61

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    8822    YA_418728146    6    

141

Печать непроведенных документов для УТ, КА, ERP. Настройка печати по пользователям, документам и печатным формам

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

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

2 стартмани

22.08.2023    2071    21    progmaster    7    

3

Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов

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

Копирует в буфер значения из списков, из ячеек отчетов, таблиц, настроек списков, других отборов и вставляет в выбранную настройку отбора. Работает с Объект не найден. Работает как в одной так и между разными базами 1С. Использует комбинации [Alt+C] Копировать список, [Alt+V] Вставить список. Также для копирования данных используется стандартная [Ctrl+C] (например из открытого xls, mxl, doc и т.п. файла скопировать список наименований)

1 стартмани

13.10.2022    16144    133    sapervodichka    112    

129

Система контроля ведения учета [БСП]

Универсальные функции Механизмы типовых конфигураций БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данном материале рассмотрим типовой алгоритм подсистемы контроля учета БСП в конфигурациях на примерах.

18.07.2022    7243    quazare    8    

109
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. JRG 28.09.11 16:27 Сейчас в теме
2. kiros 52 29.09.11 08:43 Сейчас в теме
3. anig99 2843 29.09.11 14:52 Сейчас в теме
М... а галочка в типовых "Запретить пользователю больше 1 сессии"???
4. Dushka 7 29.09.11 15:05 Сейчас в теме
(3)есть такая галочка в настройках пользователя :)
но всё равно молодец ведь! и для нетиповых очень пригодится
плюсану
8. seducer 82 29.09.11 16:06 Сейчас в теме
А у нас при входе в терминалку сразу запускается 1С. Пользователям политиками запрещено все. Ни рабочий стол, ни "Пуск" не видны.
(3) А галка такая есть не во всех типовых. Например, в УТ нет такого (если не содрать, например, с УПП) :).
11. Cobranet123 370 30.09.11 10:31 Сейчас в теме
(3)(4) А где вы в типовых нашли такую галку?? Вот смотрю щас что БП2.0 что ЗУП ну не вижу этой галочки и все, может скриншот для особо слепых?
5. zaxarovsky 111 29.09.11 15:38 Сейчас в теме
Привышено каличество разришеных сисек
6. cool.vlad4 2 29.09.11 15:41 Сейчас в теме
(5)Евгений Ваганович, вы тоже задумались над этой проблемой?
7. forurchik 29.09.11 15:45 Сейчас в теме
классная обработка. ндоели бухи. спасибо автору
9. echo77 1868 30.09.11 07:24 Сейчас в теме
- Требует доработку: РегистрСведений.КоличествоСессийПользователя
- Не понятно, зачем делать регистр сведений периодическим?
- Код можно написать короче, если сворачивать таблицу соединений
10. ediks 335 30.09.11 09:30 Сейчас в теме
(0)Третий день смотрю на главной странице ИС вывеску "Превышено количество разрешенных сесСий".
Кирилл, поправь опечатку на картинке, что-ли!!! :)
ЗЫ: да и в коде неплохо было бы...
12. seducer 82 30.09.11 13:19 Сейчас в теме
(10) А что не так? Если честно, не въехал.
14. ediks 335 30.09.11 13:47 Сейчас в теме
(12) Слово "сеССия" пишется с 2 буквами С. Просто автор опечатался. Заголовок-то у публикации верно написан.
15. seducer 82 30.09.11 14:08 Сейчас в теме
(14) Так на картинке 2 буквы "с". Или уже поправили картинку?
13. anig99 2843 30.09.11 13:29 Сейчас в теме
Настройки пользователя - другие настройки
16. f_fobos 30.09.11 19:23 Сейчас в теме
echo77 пишет:
- Не понятно, зачем делать регистр сведений периодическим?

говорит Капитан Очевидность:
а) Для хранения истории.
б) На случай изобретения машины для перемещения пользователя во времени.
17. odineskin 02.10.11 17:39 Сейчас в теме
а работает ли ваша настройка при работе с одной учетки? или только когда с нескольких заходят?
18. kiros 52 03.10.11 09:06 Сейчас в теме
(17) odineskin, работает, только проверку на "ПользовательОС" надо убрать.
19. vigo67 04.10.11 09:47 Сейчас в теме
Тоже проблемы с нехваткой лиценьзий из-за забытых терминальных сессий. Будем пробовать ваш спсоб борьбы с этой бедой.
20. nickkey 07.10.11 11:20 Сейчас в теме
вещь неплохая каждый чего то почерпнет судя из поста много еще идей добавилось да и ваще пора наверно сварганить чего нибудь экстраординарное какую нибудь надстройку чтоли со средствами администрирования було бы кулл :)))
21. zhleonid8 18.11.11 09:12 Сейчас в теме
убедился что лучший способ делать правильно -научить пользователей, но обработка кул
22. vovafr1 4 13.03.21 17:28 Сейчас в теме
добрый день! у меня проблема в другом - баз 30, лицензий как всегда меньше, некоторые пользователи несколько раз открывают одну и туже базу, бывает из-за сбоев интернета, или просто "забыли закрыть на работе открывают дома или еще где нибудь, появляются не активные сесии, память сервера загружена, лицензия занята! три пользователя при сбоях интернета могут забрать все лицензии, нужно расширение которое закрывала первую сесию при открытии второй!
Оставьте свое сообщение