Имя: Пароль:
1C
1С v8
Совместная блокировка. Как по номеру сеанса определить пользователя?
,
0 Leksandr
 
05.06.14
15:09
Платформа 8.2. Клиент - сервер. Управляемые формы. УТ 11.1 + CRM.

Есть задача: при совместной блокировке и модификации пользователями одного объекта появляется платформенное сообщение с описанием кто этот объект уже редактирует. Но этот КТО описан как "номер сеанса: такой-то". В ручную конечно можно определить какому пользователю соответствует данный сеанс, зайдя в список активных сеансов и найдя там заветный номер сеанса...
Но как определить пользователя программно, чтобы сообщение о блокировке выдавало не номер сеанса, а пользователя???
1 ДенисЧ
 
05.06.14
15:11
Через IInfoBaseConnectionInfo ?
2 break
 
05.06.14
15:16
у меня вот так все показывает

Попытка
    
    Если ЭтотОбъект.Заблокирован() Тогда
        ЭтотОбъект.Разблокировать();
    КонецЕсли;
    ЭтотОбъект.Заблокировать();
    
Исключение
    Предупреждение(ОписаниеОшибки());
    Возврат;
КонецПопытки;
3 Leksandr
 
05.06.14
15:22
(2) Так пробовали, всё равно сеанс возвращает...
(1) Так не пробовал... Если использовать IInfoBaseConnectionInfo, то возможно же получить только список соединений? Тогда как этот список привинтить к Заблокирован()?
4 Leksandr
 
05.06.14
15:24
GetConnectionLocks() - это в ту степь???
5 break
 
05.06.14
15:29
еще есть ПолучитьСоединенияИнформационнойБазы()
6 ScreamSaw
 
05.06.14
15:38
Как-то так у меня сработало в УТ 11:


ЖурналТаблица = Новый ТаблицаЗначений;
Фильтр = Новый Структура;
Фильтр.Вставить("Данные", Ссылка);
ВыгрузитьЖурналРегистрации(ЖурналТаблица, Фильтр, "Пользователь",,1);
    
Если ЖурналТаблица.Количество() = 0 Тогда
    Возврат Неопределено;
КонецЕсли;
    
ПолноеИмяПользователя = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(ЖурналТаблица[0].Пользователь).ПолноеИмя;
7 Leksandr
 
05.06.14
15:41
(6) Спасибо всем! Особенно ScreamSaw! Попробую этот вариант
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший