|
Совместная блокировка. Как по номеру сеанса определить пользователя? |
☑ |
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! Попробую этот вариант
|
|