• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

The Document Is Already Locked By

  • Автор темы doka
  • Дата начала
D

doka

Пользователь некорректно закрыл документ и теперь, при открытии на редактирование, выдает ошибку:
The document is already locked by "имя пользователя"

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

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
+ в качестве превентивной меры в хвост queryclose:
on error resume next
call ws.CurrentDocument.Document.unlock()
плохой совет!
так как любой другой кто зайдёт в док, на выходе тут же его разлочит и чем в дальнейшем лишь породит конфликт!
 
T

turumbay

плохой совет!
так как любой другой кто зайдёт в док, на выходе тут же его разлочит и чем в дальнейшем лишь породит конфликт!
гм. не уверен... о каком конфликте идет речь?
юзер "Любой Другой Иванович" разлочит только в случае, если док им и залочен. Что собсна и требуется.
Если док залочен кем-то совсем другим( "Другой Совсем Андреевич" ), то у Иваныча код отработает в холостую( бросит ошибку, которую мы игнорим )
 
D

doka

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

На unlock ругался, а при проверке db.IsDocumentLockingEnabled выдавал false
 
T

turumbay

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

На unlock ругался, а при проверке db.IsDocumentLockingEnabled выдавал false
это похоже на link removed
кто-то из юзверей открывает документ на редактирование и уходит в отпуск на пару недель.
остальные, при попытке изменить документ, видят "document is already locked by ..."
 
D

doka

нет, это другой случай. Юзер редактирует документ, комп зависает, затем пользователь перезагружается, открывает документ, пытается редактировать и ему выходит сообщение, что этот документ заблокирован им самим. Соответственно, больше никто не может его редактировать.
 

VladSh

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

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

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
юзер "Любой Другой Иванович" разлочит только в случае, если док им и залочен. Что собсна и требуется.
Если док залочен кем-то совсем другим( "Другой Совсем Андреевич" ), то у Иваныча код отработает в холостую( бросит ошибку, которую мы игнорим )
вы сначала попробуйте!
Разлочить может любой пользователь с правами Редактор как через Doc.Unlock так и через вид правой кнопной мыши UnLock
 
T

turumbay

вы сначала попробуйте!
Разлочить может любой пользователь с правами Редактор как через Doc.Unlock так и через вид правой кнопной мыши UnLock
Вы бы еще менеджера в пример привели :)
Я как-то не привык, чтобы пользователи работали в системе с правами выше авторских.
 
D

doka

VladSh, спасибо за полезную информацию.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!