0

Процедура ЗаблокироватьДанныеДляРедактирования()

Блокирует произвольные данные для редактирования

Синтаксис

Процедура ЗаблокироватьДанныеДляРедактирования() имеет следующий синтаксис:

ЗаблокироватьДанныеДляРедактирования(Ключ, [ВерсияДанных], [ИдентификаторФормы])

А также альтернативный англоязычный синтаксис:

LockDataForEdit(Ключ, [DataVersion], [FormId])

Параметры

Описание параметров процедуры ЗаблокироватьДанныеДляРедактирования():

Имя параметра* Тип Описание
Ключ ЛюбаяСсылка, РегистрСведенийКлючЗаписи и др Ссылка на объект, который должен быть заблокирован, или ключ записи независимого регистра сведений, который должен быть заблокирован
ВерсияДанных Строка Версия блокируемого объекта в формате Base64 (используется для параметра Ключ типа ЛюбаяСсылка). Если указан, то при блокировке объекта проверяется версия объекта базы данных. При несовпадении версии или отсутствии объекта в базе данных генерируется исключение.
ИдентификаторФормы УникальныйИдентификатор Уникальный идентификатор формы.

Если параметр указан, то блокировка устанавливается на все время жизни формы, в которой установлена блокировка.

Если параметр не указан, блокировка устанавливается на ограниченное время и может быть снята:

  • при окончании транзакции, если блокировка установлена в транзакции;
  • при окончании работы встроенного языка (только для режимов запуска «Тонкий клиент» и «Веб-клиент»; при возврате управления с сервера);
  • при завершении сеанса;
  • явным образом;
*Жирным шрифтом выделены обязательные параметры

Описание

Процедура ЗаблокироватьДанныеДляРедактирования() выполняет попытку блокировки произвольных данных для редактирования в форме клиентского приложения. В случае, если не удалось установить блокировку (данные заблокированы другим пользователем, в том числе и методом Заблокировать() объекта), вызывает исключение.

Внимание! Если указан параметр ИдентификаторФормы, платформа не гарантирует автоматического снятия блокировки сразу после закрытия формы. Поэтому, следует упреждать вероятные негативные последствия и явным образом снимать блокировку методом РазблокироватьДанныеДляРедактирования() после записи объекта или по окончании алгоритма

Доступность

Версия Поддержка
8.1 не поддерживается!
8.2 Сервер, Толстый клиент, Внешнее соединение
8.3 Сервер, Толстый клиент, Внешнее соединение, Мобильный автономный сервер, Мобильное приложение

Пример использования

Пример кода с использованием процедуры ЗаблокироватьДанныеДляРедактирования():

//установим блокировку перед началом работы с объектом
ЗаблокироватьДанныеДляРедактирования(Контрагент);
//если объект заблокирован, произойдет исключение
//пользователю увидит кто и откуда заблокировал объект
КонтрагентОбъект = Контрагент.ПолучитьОбъект();
КонтрагентОбъект.Наименование = "удалить " + КонтрагентОбъект.Наименование;
КонтрагентОбъект.Записать();
//явное снятие блокировки
РазблокироватьДанныеДляРедактирования(Контрагент);

//заблокируем записи независимого регистра сведений
ИзмеренияРегистра = Новый Структура("Контрагент", Контрагент);
КлючЗаписи = РегистрыСведений.ТелефоныКонтрагентов.СоздатьКлючЗаписи(ИзмеренияРегистра);
//установим блокировку перед началом работы с объектом
ЗаблокироватьДанныеДляРедактирования(КлючЗаписи,, ЭтаФорма.УникальныйИдентификатор);
...
//снимем блокировку явным образом по окончании работы
РазблокироватьДанныеДляРедактирования(КлючЗаписи);

Читайте также:

Как заблокировать объект для изменения?

Поделиться страницей в соц.сетях

Метки: Метки

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *