Добрый день, уважаемое сообщество!
Подскажите, пожалуйста по процедуре ЗаписатьСвойстваУОбъекта модуля УправлениеСвойствами.
Конфигурации ERP 2.5.10.73 и Документооборот 2.1.31.5.
Поставил в тупик этот фрагмент:
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить(ВладелецСвойств.Метаданные().ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("Ссылка", ВладелецСвойств);
Блокировка.Заблокировать();
ВладелецСвойствОбъект = ВладелецСвойств.ПолучитьОбъект();
ЗаблокироватьДанныеДляРедактирования(ВладелецСвойствОбъект.Ссылка);
При попытке записать доп.реквизит в справочник получаю ошибку:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
Ошибка при вызове метода контекста (ЗаблокироватьДанныеДляРедактирования)
{ОбщийМодуль.УправлениеСвойствами.Модуль(1195)}:ЗаблокироватьДанныеДляРедактирования(ВладелецСвойствОбъект.Ссылка);
{ВозвратНаПоддержку ОбщийМодуль.ВНПОбщийМодуль.Модуль(23)}:УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(Строка.Предмет, ТЗ);
по причине:
Ошибка блокировки объекта. Объект уже заблокирован:
СП по процедуре "ЗаблокироватьДанныеДляРедактирования" выдает:
Вызывает исключение, если объект уже заблокирован, в том числе и методом Заблокировать.
Т.е. получается, что объект блокируется и тут же вызывается процедура "ЗаблокироватьДанныеДляРедактирования" с этим же объектом, и имеем исключение.
Ничего не понятно.
Или лыжи не едут...)
Кстати, в ДО 2.1.13.28 этот код отсутствует:
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить(ВладелецСвойств.Метаданные().ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("Ссылка", ВладелецСвойств);
Блокировка.Заблокировать();
и все нормально записывается.
Помогите, пожалуйста разобраться.
Спасибо.