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