&НаСервереБезКонтекста Функция ПолучитьТипКлиента() Соединения=ПолучитьСоединенияИнформационнойБазы(); ТекущееСоединение=Соединения.Получить(НомерСоединенияИнформационнойБазы()-1); Если ТекущееСоединение=Неопределено Тогда Возврат ""; КонецЕсли; Возврат (ПредставлениеПриложения(ТекущееСоединение.ИмяПриложения)); КонецФункции &НаКлиенте Процедура Тест(Команда) Сообщить(ПолучитьТипКлиента()); КонецПроцедуры
Функция ПолучитьТекущуюСредуВыполнения() Экспорт #Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда Возврат "Толстый клиент"; #ИначеЕсли Сервер Тогда Возврат "Сервер"; #ИначеЕсли ВнешнееСоединение Тогда Возврат "Внешнее соединение"; #ИначеЕсли ТонкийКлиент Тогда Возврат "Тонкий клиент"; #ИначеЕсли ВебКлиент Тогда Возврат "Веб-клиент"; #Иначе Возврат "Ошибка определения среды выполнения"; #КонецЕсли КонецФункции
Процедура ПолучениеСпискаАктивныхПользователей() ИтогСписокСоединений.Очистить(); СоединенияИнформационнойБазы = ПолучитьСоединенияИнформационнойБазы(); Для Каждого Соединение Из СоединенияИнформационнойБазы Цикл ТЗ=ИтогСписокСоединений.Добавить(); ТЗ.Пользователь=Соединение.Пользователь.Имя; ТЗ.Приложение=ПредставлениеПриложения(Соединение.ИмяПриложения); ТЗ.НачалоРаботы=Соединение.НачалоСеанса; ТЗ.Компьютер=Соединение.ИмяКомпьютера; ТЗ.Соединение=Соединение.НомерСоединения; КонецЦикла; нНомерТекущегоСоединения=НомерСоединенияИнформационнойБазы(); //В итоге получаем ТЗ со списком пользователей и Номер Текущего Соединения КонецПроцедуры