Имя: Пароль:
1C
 
Как определить кто блокирует объект ?
0 ИС-2
 
naïve
27.07.18
15:47
Есть более простые способы, чем профайлер и ЦУП ?
1 olegves
 
27.07.18
15:48
пытаешься заблокировать - тебе возвращает кто блокирует
2 Cyberhawk
 
27.07.18
16:03
Заблокировать() в попытке
3 H A D G E H O G s
 
27.07.18
16:33
(2) Хорошая попытка, но нет.
4 H A D G E H O G s
 
27.07.18
16:33
Функция ВыполнитьПопыткуБлокировки(Ссылка) Экспорт
    СтруктураВозврата=Новый Структура;
    СтруктураВозврата.Вставить("ОписаниеОшибки","");
    СтруктураВозврата.Вставить("Результат",Ложь);
    Попытка
        ЗаблокироватьДанныеДляРедактирования(Ссылка);
        СтруктураВозврата.Вставить("Результат",Истина);
    Исключение
        ОписаниеОшибки = НСтр("ru='Не удалось заблокировать для изменения %Элемент%. %ОписаниеОшибки%'");
        ОписаниеОшибки = СтрЗаменить(ОписаниеОшибки, "%Элемент%",        Ссылка);
        ОписаниеОшибки = СтрЗаменить(ОписаниеОшибки, "%ОписаниеОшибки%", КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
        СтруктураВозврата.Вставить("ОписаниеОшибки",ОписаниеОшибки);
    КонецПопытки;
    
    Возврат СтруктураВозврата;    
КонецФункции
5 RomanYS
 
27.07.18
16:36
(4) А разблокировать не надо?
6 H A D G E H O G s
 
27.07.18
16:36
(5) Ну там же написано в названии процедуры, что она делает.
7 Cyberhawk
 
27.07.18
16:40
(3) Если объект уже получен / прочитан в память, то работает на ура