TryLock – попытаться заблокировать сущность
<< Click to Display Table of Contents >> Объектная модель > Основные механизмы > Locks – блокировки TryLock – попытаться заблокировать сущность |
Метод производит попытку заблокировать сущность. Рекомендуется использовать, если сущность не открывается явно. Например, при работе с вложенным в задачу документом или при работе с сущностью в асинхронном обработчике.
Важно. После использования метода TryLock() нужно вызвать Unlock(), чтобы разблокировать сущность.
При работе с документами и карточками объектов достаточно проверить, что сущность не заблокирована другими пользователями. Для этого используйте свойство IsLockedByOther, а затем сохраните изменения.
Перегрузки
TryLock(IEntity entity) |
Попытаться заблокировать сущность |
TryLock(IBinaryData body) |
Попытаться заблокировать бинарные данные сущности |
Синтаксис
C# |
public static bool TryLock(IEntity entity); public static bool TryLock(IBinaryData entity); |
Параметры
entity – сущность, которую нужно заблокировать;
body – бинарные данные сущности, которые нужно заблокировать.
Возвращаемое значение
True, если сущность заблокирована, иначе – false.
Пример
var isForcedLocked = false;
try
{
isForcedLocked = Locks.TryLock(document);
// Если получилось установить блокировку, то создать версию документа.
if (isForcedLocked)
{
document.CreateVersion();
}
// Если не получилось заблокировать документ, то показать сообщение пользователю.
else
{
Dialogs.ShowMessage("Не удалось заблокировать документ",
"Ошибка при выполнении действия 'Установить блокировку'",
MessageType.Error, "Ошибка");
}
}
finally
// Если документ был заблокирован, снять блокировку.
{
if (isForcedLocked)
{
Locks.Unlock(document);
}
}
© Компания Directum, 2024 |