Difference between revisions of "UnlockStorage"
(Created page with "{{infobox function |name=UnlockStorage |object=Функции общего назначения |caption=Блокировка накопителей |type=1 |status=2 |db=...") |
m (1 revision imported) |
(No difference)
|
Latest revision as of 08:54, 7 February 2021
UnlockStorage (Блокировка накопителей) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция производит разблокировку указанного накопителя, при его блокировке функцией LockStorage. Функция может использоваться только вне режима транзакции, так как при окончании транзакции, все заблокированные накопители автоматически будут разблокированы системой. Если функция LockStorage использовалась до начала транзакции, функция UnlockStorage может отменить ее действие, если ошибка возникла при проверке, выполняемой до начала транзакции. Если транзакция уже начата, нет необходимости в использовании UnlockStorage, так как она будет вызвана автоматически. При попытке вызвать функцию внутри транзакции, она будет вызывать исключение. См. также описание LockStorage.
Синтаксис
UnlockStorage(<Наименование накопителя (STRING)>)
Аргументы
<Наименование накопителя (STRING)>
- Наименование накопителя, который необходимо разблокировать
Примеры
//Фрагмент иллюстрирует описанную выше последовательность действий по записи в накопитель //аДок -- текущий документ, в накопитель которого необходимо выполнить запись LockStorage("Остатки"); ФлБлокировка:=1; ФлТранзакция:=0; Try флПроверкаУдачна:=1; //Далее следуют проверки, изеняющие флПроверкаУдачна ... If not флПроверкаУдачна Then Exit; EndIf; aTab:=аДок.InitStorageTab("Остатки"); //Заполнение таблицы aTab ... //Сохранение изменений BeginTransaction(); ФлТранзакция:=1; аДок.SaveStorage("Остатки",aTab,аДок.DocDate); //Фиксирование транзакции ФлТранзакция:=0; CommitTransaction(); ФлБлокировка:=0; Finally If ФлТранзакция Then RollbackTransaction(); ElseIf ФлБлокировка Then UnlockStorage("Остатки"); EndIf; EndTry