• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

The Document Is Already Locked By "xxx"

  • Автор темы iosif88
  • Дата начала
I

iosif88

Здраствуйте! Помогите решить проблему.
Написано приложение для документооборота.
Создается документ. Содержательная часть документа будет редактироваться только при его создании. После нажатия кнопки "Submit" редактирование содержательной части недоступно. И в дальнейшем будет редактироваться только програмно, а именно после нажатия кгопки "Approve" в поле документа будет проставлена текущая дата и изменена надпись со статусом.
Всем пользователям дается права "Editor" (для того чтобы любой мог создать документ и послать его на утверждение).
Кнопка "Approve" будет доступна одновременно только одному пользователю - т.е. редактировать документ на каждом этапе может только один пользователь.

Проблема заключается в том что два пользователя одновременно не могут просматривать документ Выходит сообщение The document is already locked by "xxx"

Например кто то создал документ и нажал Submit. Затем открыл документ на просмотр (редактировать он его больше не сможет) и оставил открытым.
Теперь тот кто должен утвердить документ не может его открыть.

Прошу учесть что утвеждать документ по очереди будут несколько пользователей. Поэтому открытым документ в принципе может оставить один из утверждающих (хотя ничего редактировать если очередь не его он не может).

Галочка Allow document locking НЕ стоит!
Как решить эту проблему? Как сделать так чтобы можно было одновременно просматривать документ?
 
K

Klido

Как сделать так чтобы можно было одновременно просматривать документ?
убедитесь, что документ открывается именно на чтение, а не в редактирование(это может быть неочевидно, если используются ограничения на части документа)
 
I

iosif88

убедитесь, что документ открывается именно на чтение, а не в редактирование(это может быть неочевидно, если используются ограничения на части документа)

Да, на часть документа используются ограничения. (для невозможности изменения содержательной части)
А как сделать так чтобы при открытия документа открывался именно на чтение? При том что один из утверждающих (очередь которого утвержать документ) должен иметь возможность програмно (нажатие кнопки) отредактировать поля - текущую дату и некотоыре надписи.
 
I

iosif88

ну так кнопка называется как - "Редактировать"? открываете на чтение, а по кнопке - редактировать...

Я в лотусе новичок :)
Где что прописать?
Как открыть документ на чтение (где писать код и что писать)
И как затем отркыть его на редактирование? И получиться ли если у другого документ уже открыт?
 
N

nvyush

Как открыть документ на чтение (где писать код и что писать)
И как затем отркыть его на редактирование? И получиться ли если у другого документ уже открыт?
1) Проверить, что в свойствах формы на второй закладке сброшен флаг Automatically enable Edit Mode.
2) Проверить события PostOpen, OnLoad на отсутствие строк вида Source.EditMode = True
3) В кнопках изменения статуса перед изменением полей выполнить UIDoc.EditMode = True. UIDoc взять или из Workspace или объявить глобальным и на OnLoad присваивать Set UIDoc = Source.
Не забыть после изменения полей выполнить
UIDoc.Document.Save True, True
UIDoc.Save

p.s. Если документ открывается Workspace.EditDocument(...) первый параметр д.б. False
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Всем пользователям дается права "Editor" (для того чтобы любой мог создать документ и послать его на утверждение).
Кнопка "Approve" будет доступна одновременно только одному пользователю - т.е. редактировать документ на каждом этапе может только один пользователь.
...
Прошу учесть что утвеждать документ по очереди будут несколько пользователей. Поэтому открытым документ в принципе может оставить один из утверждающих (хотя ничего редактировать если очередь не его он не может).
Лучше дать права Author. Editor совершенно не нужен. Даже вреден в твоем случае.
 
I

iosif88

1) Проверить, что в свойствах формы на второй закладке сброшен флаг Automatically enable Edit Mode.
2) Проверить события PostOpen, OnLoad на отсутствие строк вида Source.EditMode = True
3) В кнопках изменения статуса перед изменением полей выполнить UIDoc.EditMode = True. UIDoc взять или из Workspace или объявить глобальным и на OnLoad присваивать Set UIDoc = Source.
Не забыть после изменения полей выполнить
UIDoc.Document.Save True, True
UIDoc.Save

p.s. Если документ открывается Workspace.EditDocument(...) первый параметр д.б. False

Спасибо большое. Вы очень помогли.
О существовании у формы галочки Automatically enable Edit Mode я вообще не знал.
Прописал на кнопках UIDoc.EditMode = True , теперь вроде заработало сейчас еще протестирую. :)

Лучше дать права Author. Editor совершенно не нужен. Даже вреден в твоем случае.

А у Author есть права создавать документ? А то я смотрю он от Editor отличается пунктом Create Document. Поэтому я и не дал Author.
 
N

nvyush

А у Author есть права создавать документ? А то я смотрю он от Editor отличается пунктом Create Document. Поэтому я и не дал Author.

Чтоб были права создавать документы, нужно включить галку Create Document.
А отличие от Editor - можно (и нужно!) ограничивать права редактирования документов полями типа Authors.
Editor может редактировать любой документ, который он видит, Author может редактировать только документы, в которых он есть в полях типа Authors явно или через группы/роли. Подробнее см. хелп
 
I

iosif88

Чтоб были права создавать документы, нужно включить галку Create Document.
А отличие от Editor - можно (и нужно!) ограничивать права редактирования документов полями типа Authors.
Editor может редактировать любой документ, который он видит, Author может редактировать только документы, в которых он есть в полях типа Authors явно или через группы/роли. Подробнее см. хелп

Я даю права на Authors и включаю галку Create Document, но при нажатии Submit (мол сохранить и отправить на утверждение ) он выдает -
You cannot update or delete the document(s) since you are not listed as an allowable Author for this document

А когда права на Editor все идет нормально.
 
N

nvyush

Я даю права на Authors и включаю галку Create Document, но при нажатии Submit (мол сохранить и отправить на утверждение ) он выдает -
You cannot update or delete the document(s) since you are not listed as an allowable Author for this document

А когда права на Editor все идет нормально.
Внимательно перечитайте мой предыдущий пост. Пользователя нет в полях типа Authors (ни явно, ни через роли/группы) - вот Лотус и не даёт изменить документ. Создайте на форме поле типа Authors, добавьте туда пользователя(лей) - и всё будет ОК.
 
I

iosif88

Внимательно перечитайте мой предыдущий пост. Пользователя нет в полях типа Authors (ни явно, ни через роли/группы) - вот Лотус и не даёт изменить документ. Создайте на форме поле типа Authors, добавьте туда пользователя(лей) - и всё будет ОК.

Теперь понятно. Всем спасибо :)
 
Мы в соцсетях:

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