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