Имя: Пароль:
1C
1С v8
Получить пользователя открывшего документ
0 botanik
 
05.06.12
10:17
Всем привет, хочу проверить открыт ли документ или нет, и главное кем.
На 8.1. работал код ПередОткрытиемФормы():
Попытка    
           Заблокировать();
       Исключение
           Ошибка = ИнформацияОбОшибке();
           //
           ПоложениеСимвола = Найти(Ошибка.Описание,Символы.ПС)+1;
           Если ЗначениеЗаполнено(ПоложениеСимвола) Тогда
               Строка = Сред(Ошибка.Описание,ПоложениеСимвола);
               Если Сред(Строка,0,Найти(Строка," ")-1) = "Запись" Тогда
                   Вопрос(Строка,РежимДиалогаВопрос.ОК);
                   ТолькоПросмотр = Истина;
                   Возврат;
               КонецЕсли;    
           Иначе
               Отказ = Истина;
               Сообщить(Ошибка.Описание);
           КонецЕсли;
       КонецПопытки;


Ошибка давала имя пользователя и комп, кто открыл док. Обновил до 8.2. и ошибка стала просто ошибкой, без описания. Как можно получить пользователя, кто открыл документ.
Заранее благодарю!!!
1 155153144627
 
05.06.12
10:22
Попытка
           ЭтотОбъект.Заблокировать();
           ЗаписьЖурналаРегистрации("Данные.Изменение",
           УровеньЖурналаРегистрации.Информация, ЭтотОбъект, ЭтотОбъект.Ссылка,
           "Объект заблокирован");
       Исключение
           Ошибка_Содержание=ОписаниеОшибки();
           Предупреждение("Документ используется другим пользователем!"+Символы.ПС+
           Сред(Ошибка_Содержание,Найти(Ошибка_Содержание,"Запись заблокирована пользователем")),30);
           Отказ = Истина;
       КонецПопытки;

Не мое, но я использовал это код. Выдает имя пользователя заблокировавшего документ.
2 botanik
 
05.06.12
10:30
Спасибо большое!!!!!
3 botanik
 
05.06.12
10:33
Теперь вместо "ИнформацияОбОшибке()" надо "ОписаниеОшибки()"