Блокировка данных обязательна на экзамене 1с-специалист.
Блокировка — это информация о том, что данный ресурс захвачен «кем-то», для выполнения какого-то действия.
Создавать Блокировки будем по схеме. Блокировка данных в 1с в экзаменационных билетах используется в Оперативном и Бухгалтерском учете.

В системе 1С:Предприятие 8 существуют два механизма, при работе которых используется термин блокировка.

Объектные и транзакционные блокировки
Все данные информационной базы хранятся в некоторой СУБД. А любая СУБД должна обеспечивать целостность и непротиворечивость хранимых данных. Для согласованного изменения данных в СУБД используется механизм транзакций, а для обеспечения конкурентного доступа к данным — механизм транзакционных блокировок.
Механизм объектных блокировок
Механизм объектных блокировок как раз и позволяет осуществлять конкурентный доступ пользователей к данным 1С:Предприятия в терминах объектов информационной базы. Как правило в большинстве случаев это связано с интерактивной работой пользователей в формах: редактирование существующих объектов, удаление, создание новых и др.
Блокировка данных при проведении документа «Расходная накладная»
Во-первых создадим объект Блокировка.
БлокировкаДанных = Новый БлокировкаДанных;
Во-вторых добавляем объект Блокировок. Для задач экзамена 1С:Специалист это Регистр Накопления «ОстаткиНоменклатуры»
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
В-третьих установим Реквизит документа «Расходная накладная», для которого будем использовать Блокировку.
ЭлементБлокировки.УстановитьЗначение("Партия", Партия);
В четвертых в «Источник данных» поместим табличную часть документа «Расходная накладная».
ЭлементБлокировки.ИсточникДанных = СписокНоментклатуры;
На пятом шаге укажем какие поля, мы будем использовать из табличной части документа. Практические для всех задач экзамена 1С:Специалист нужно использовать параметр «Номенклатура». Если в табличной части указывается еще какое-то Измерение Регистра, то его тоже добавляем в источники. Например может быть склад.
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
Полный код Блокировки указан ниже:
// Блокировка
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
ЭлементБлокировки.УстановитьЗначение("Партия", Партия);
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.ИсточникДанных = СписокНоментклатуры;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
Блокировка.Заблокировать();
