Добрый день! Мне нужно заблокировать элементы справочника для редактирования, для этого я могу использовать три известных мне способа. Объясните пожалйста различие между способами блокировки представленными ниже:
1)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Номенклатура.Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ";
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Ссылка = ВыборкаДетальныеЗаписи.Ссылка;
Блок = Новый БлокировкаДанных;
элб = Блок.Добавить("Справочник.Номенклатура");
элб.Режим = РежимБлокировкиДанных.Исключительный;
элб.УстановитьЗначение("Ссылка",Ссылка);
Блок.Заблокировать();
о = Ссылка.ПолучитьОбъект();
о.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Товар;
о.Записать();
КонецЦикла;
2)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Номенклатура.Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ДЛЯ ИЗМЕНЕНИЯ Справочник.Номенклатура";
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Ссылка = ВыборкаДетальныеЗаписи.Ссылка;
о = Ссылка.ПолучитьОбъект();
о.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Товар;
о.Записать();
КонецЦикла;
3)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Номенклатура.Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ";
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Ссылка = ВыборкаДетальныеЗаписи.Ссылка;
о = Ссылка.ПолучитьОбъект();
о.Заблокировать();
о.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Товар;
о.Записать();
о.Разблокировать();
КонецЦикла;
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс