Как узнать заблокирован ли объект (документ, справочник) и кто заблокировал
Блокировку накладывает метод "Заблокировать()" и\или "ЗаблокироватьДанныеДляРедактирования()". Если объект уже заблокирован будет выдано исключение.
Для управляемых форм:
Попытка
ЗаблокироватьДанныеДляРедактирования(Объект.Ссылка,, ЭтаФорма.УникальныйИдентификатор);
Исключение
Ошибка = ОписаниеОшибки();
ОбрезанаОшибка = Сред(Ошибка, Найти(Ошибка, "сеанс:")+6);
НомерСеанса = Число(Сред(ОбрезанаОшибка, 0 , Найти(ОбрезанаОшибка,", начат:")-1));
АктивныеСеансы = ПолучитьСеансыИнформационнойБазы();
ИмяПользователяЗаблокировавшегоДок = "";
Для Каждого Элемент Из АктивныеСеансы Цикл
Если Элемент.НомерСеанса = НомерСеанса Тогда
ИмяПользователяЗаблокировавшегоДок = Элемент.Пользователь.ПолноеИмя;
Прервать;
КонецЕсли;
КонецЦикла;
Сообщить("Объект заблокирован пользователем: " + ИмяПользователяЗаблокировавшегоДок + "" + Сред(ОбрезанаОшибка, Найти(ОбрезанаОшибка,", начат:")));
ЭтаФорма.ТолькоПросмотр = Истина;
КонецПопытки;
Для обычных:
Попытка
ЭтотОбъект.Заблокировать();
Исключение
Сообщить("Документ редактируется другим пользователем");
ЭтаФорма.ТолькоПросмотр = Истина;
КонецПопытки;
По окончании работы с объектом можно вызвать методы "Разблокировать()" и "РазблокироватьДанныеДляРедактирования()".