Блокировки данных

Небольшой faq:

http://its.1c.ru/db/v837doc#bookmark:dev:TI000000535

Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить(«Справочник.Магазин»);
ЭлементБлокировки.УстановитьЗначение(«Код», 100);
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
Блокировка.Заблокировать();
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить(«РегистрНакопления.ТоварыНаСкладах»);
ЭлементБлокировки.УстановитьЗначение(«Качество», Справочники.Качество.НайтиПоКоду(«1»));

http://its.1c.ru/db/pubdevguide83#content:298:hdoc

http://v8.1c.ru/overview/Term_000000642.htm

http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=605679

http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=606570

Прежде всего непонятна сама задача. Для того, чтобы изменить вид номенклатуры у справочника не нужно его блокировать. Тем более не нужно его блокировать для редактирования. Если вас интересует вопрос блокировок, нужно рассматривать реальный конкретный пример.

Если стоит задача «вообще» заблокировать элементы справочника для редактирования, то нужно использовать механизм пессимистических объектных блокировок. Это похоже на ваш вариант №3, но раз вы работаете с 8.2.15.301, то нужно использовать не метод объекта Заблокировать(), а метод глобального контекста ЗаблокироватьДанныеДляРедактирования().