The Document Is Already Locked By

doka

Well-known member
18.02.2010
118
0
#1
Пользователь некорректно закрыл документ и теперь, при открытии на редактирование, выдает ошибку:
The document is already locked by "имя пользователя"

Не подскажите как исправить?
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
17
#4
+ в качестве превентивной меры в хвост queryclose:
on error resume next
call ws.CurrentDocument.Document.unlock()
плохой совет!
так как любой другой кто зайдёт в док, на выходе тут же его разлочит и чем в дальнейшем лишь породит конфликт!
 
13.03.2009
625
1
#5
плохой совет!
так как любой другой кто зайдёт в док, на выходе тут же его разлочит и чем в дальнейшем лишь породит конфликт!
гм. не уверен... о каком конфликте идет речь?
юзер "Любой Другой Иванович" разлочит только в случае, если док им и залочен. Что собсна и требуется.
Если док залочен кем-то совсем другим( "Другой Совсем Андреевич" ), то у Иваныча код отработает в холостую( бросит ошибку, которую мы игнорим )
 

doka

Well-known member
18.02.2010
118
0
#6
К моему огромному удивлению, сегодня документ открылся на редактирование без проблем. Спрашивал у коллег, они говорят что сталкивались с такой проблемой и она разрешилась точно также - сама собой.
Хотелось бы разобраться почему документ блокируется, т.к. вполне вероятно, что ошибка массовая и может повториться.

На unlock ругался, а при проверке db.IsDocumentLockingEnabled выдавал false
 
13.03.2009
625
1
#7
К моему огромному удивлению, сегодня документ открылся на редактирование без проблем. Спрашивал у коллег, они говорят что сталкивались с такой проблемой и она разрешилась точно также - сама собой.
Хотелось бы разобраться почему документ блокируется, т.к. вполне вероятно, что ошибка массовая и может повториться.

На unlock ругался, а при проверке db.IsDocumentLockingEnabled выдавал false
это похоже на
Для просмотра контента необходимо: Войти или зарегистрироваться

кто-то из юзверей открывает документ на редактирование и уходит в отпуск на пару недель.
остальные, при попытке изменить документ, видят "document is already locked by ..."
 

doka

Well-known member
18.02.2010
118
0
#8
нет, это другой случай. Юзер редактирует документ, комп зависает, затем пользователь перезагружается, открывает документ, пытается редактировать и ему выходит сообщение, что этот документ заблокирован им самим. Соответственно, больше никто не может его редактировать.
 

VladSh

начинающий
Lotus team
11.12.2009
1 260
5
#9
Если "На unlock ругался, а при проверке db.IsDocumentLockingEnabled выдавал false", тогда это глючит SoftLock (может где-то кэшируется, а потом, при новом запуске через некоторое время "отпускает").
Не знаю, какая у вас версия LN, мы как-то проверяли 6.5.1, специально жали на кнопку перезагрузки, так вот оно нормально работало, т.е. "отпускало" автоматически и сразу же - другие пользователи практически сразу же могли блокировать док. Помнится, в какой-то из версий 7.0.х такой трабл с SoftLock'ом был, но его в 8.5.х вроде как поправили...

Посоветовал бы включить в БД IsDocumentLockingEnabled. Даже если HardLock не используется, то оно не помешает + даст возможности:
- нормальной разблокировки дока на QueryClose;
- ручной разблокировки дока пользователем вручную - во вьюхе в контекстном меню на доке появятся 2 дополнительных пункта "Lock document" и "Unlock document".
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
17
#10
юзер "Любой Другой Иванович" разлочит только в случае, если док им и залочен. Что собсна и требуется.
Если док залочен кем-то совсем другим( "Другой Совсем Андреевич" ), то у Иваныча код отработает в холостую( бросит ошибку, которую мы игнорим )
вы сначала попробуйте!
Разлочить может любой пользователь с правами Редактор как через Doc.Unlock так и через вид правой кнопной мыши UnLock
 
13.03.2009
625
1
#11
вы сначала попробуйте!
Разлочить может любой пользователь с правами Редактор как через Doc.Unlock так и через вид правой кнопной мыши UnLock
Вы бы еще менеджера в пример привели :)
Я как-то не привык, чтобы пользователи работали в системе с правами выше авторских.