0

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

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

Синтаксис

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

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

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

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

Параметры

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

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

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

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

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

Описание

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

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

Доступность

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).

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

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

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

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

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

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

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

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