Заблокировать данные для редактирования в форме клиентского приложения. Вызывает исключение, если объект уже заблокирован, в том числе и методом Заблокировать.
Синтаксис
ЗаблокироватьДанныеДляРедактирования(<Ключ>, <ВерсияДанных>, <ИдентификаторФормы>)Полное описание, параметры и ограничения
Глобальный контекст.ЗаблокироватьДанныеДляРедактирования (Global context.LockDataForEdit)
Глобальный контекст (Global context)
ЗаблокироватьДанныеДляРедактирования (LockDataForEdit)
Доступен, начиная с версии 8.2.
Синтаксис:
ЗаблокироватьДанныеДляРедактирования(<Ключ>, <ВерсияДанных>, <ИдентификаторФормы>)
Параметры:
<Ключ> (обязательный)
Тип: Любая ссылка на объект информационной базы, РегистрСведенийКлючЗаписи.<Имя регистра сведений>, ВнешнийИсточникДанныхТаблицаСсылка.<Имя внешнего источника>, ВнешнийИсточникДанныхТаблицаКлючЗаписи.<Имя внешнего источника>.
Ссылка на объект, который должен быть заблокирован, или ключ записи независимого регистра сведений, которая должна быть заблокирована.
<ВерсияДанных> (необязательный)
Тип: Строка.
Версия блокируемого объекта в формате Base64. Используется, если параметр <Ключ> имеет тип Любая ссылка на объект информационной базы.
Если указан, то при блокировке объекта проверяется версия объекта базы данных. При несовпадении версии или отсутствии объекта в базе данных генерируется исключение.
<ИдентификаторФормы> (необязательный)
Тип: УникальныйИдентификатор.
Уникальный идентификатор формы. Если параметр указан, то блокировка устанавливается на все время жизни формы, в которой установлена блокировка. Важно, что если за время отображения формы не были установлены другие блокировки от имени этой формы (при интерактивном редактировании или методом ЗаблокироватьДанныеФормыДляРедактирования), то при закрытии формы блокировка может быть отменена не сразу, а через некоторое время. Блокировка может быть снята:
автоматически при закрытии формы или завершении сеанса;
с помощью метода глобального контекста РазблокироватьДанныеДляРедактирования с указанием того же идентификатора формы, который указывался для установки блокировки. В этом случае блокировка снимается сразу.
Если параметр не указан, то блокировка устанавливается на ограниченное время и может быть снята:
с помощью метода РазблокироватьДанныеДляРедактирования без указания идентификатора формы;
при окончании транзакции, если блокировка установлена в транзакции;
при окончании работы встроенного языка (для режимов запуска "Тонкий клиент" и "Веб-клиент"; при возврате управления с сервера);
при завершении сеанса.
Описание:
Заблокировать данные для редактирования в форме клиентского приложения.
Вызывает исключение, если объект уже заблокирован, в том числе и методом Заблокировать.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
См. также:
Глобальный контекст, метод РазблокироватьДанныеДляРедактирования
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Установить и снять блокировку своего учебного элемента
В блокировку передается реальная ссылка найденного элемента, а не строка его имени.
Где и как запускать
Обычный сервер 1С; также указанные глобальные административные методы могут быть доступны толстому клиенту и внешнему соединению.
Подготовка
Вставьте блок в модуль собственной управляемой формы. Клиентскую процедуру вызовите из обработчика своей кнопки; серверную — через собственный серверный обработчик команды. Специальное место вставки указано отдельно.
Только собственная учебная копия базы с необходимыми правами. Не выполняйте административный пример в рабочей базе.
В собственном справочнике УчебныеТовары создайте элемент 001. Метод применяется к блокировке редактирования данных клиентской формы; он не заменяет транзакционную БлокировкаДанных.
&НаСервереБезКонтекста
Процедура ПроверитьБлокировкуТовара()
Ссылка = Справочники.УчебныеТовары.НайтиПоКоду("001");
Если Не ЗначениеЗаполнено(Ссылка) Тогда
ВызватьИсключение "Учебный товар не найден";
КонецЕсли;
ЗаблокироватьДанныеДляРедактирования(Ссылка);
Сообщить("Заблокирован: " + Строка(Ссылка));
РазблокироватьДанныеДляРедактирования(Ссылка);
КонецПроцедурыРазбор по шагам
Найдите свою непустую ссылку.
Установите блокировку только этой ссылки.
На нормальном пути снимите ее тем же ключом.
Как проверить результат
Не передается пустая ссылка.
При существующей блокировке исключение не выдается за успех.
Ожидаемый результат
Показано парное управление блокировкой своего объекта.
На что обратить внимание
Пример не гарантирует снятие при аварии между вызовами. В реальной форме согласуйте идентификатор формы и версию данных; не снимайте чужие блокировки.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.