DB.Unlock
Revision as of 18:17, 22 September 2019 by Admin (talk | contribs) (Created page with "{{infobox function |name=Unlock |object=Объект базы данных |caption=Разблокировка объекта базы данных |type=1 |status=2 |db=1...")
| Unlock (Разблокировка объекта базы данных) | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
Функция производит разблокировку заблокированного ранее объекта. Функцию желательно использовать внутри конструкции Finally ... EndTry, чтобы убедиться, что объект будет разблокирован по окончании работы с ним. Объект также будет разблокирован автоматически когда происходит его позиционирование (к примеру, другой объект выбирается с помощью функции Find или Select), либо его удалением из системы. См. также Lock.
Синтаксис
DB.Unlock(<Описание ошибки (STRING)>):<Успешная разблокировка (INT)>
Аргументы
<Описание ошибки (STRING)>- (необязательный аргумент)(возможен аргумент-переменная (ByRef)) Если разблокировать объект не удалось по какой-либо внутренней причине, переменная, заданная в этом аргументе, получает описание ошибки сервера.
Возвращаемое значение
Функция возвращает единицу, если разблокировка произведена успешно, 0 в ином случае.
Примеры
//Пример производит блокировку и изменение документа аДок
аПольз:="";аМаш:="";аВремя:="";
If аДок.Lock(аПольз,аМаш,аВремя)=0 Then
Message("Невозможно заблокировать документ "+аДок+", так как в данный момент с ним работает пользователь "+аПольз+" на "+аМаш+" в "+аВремя+"!","!");
Exit;
EndIf;
Try
//Перечитать аДок из базы данных, чтобы убедиться, что мы работаем со свежими данными и наше изменение не запишет устаревшие данные в базу данных
аДок.Reload();
//Изменим реквизит и сохраним объект
аДок.Реквизит:=1;
аДок.Save();
Finally
аДок.Unlock();
EndTry;