The Document Is Already Locked By "xxx"

Тема в разделе "Lotus - Программирование", создана пользователем iosif88, 2 ноя 2009.

  1. iosif88

    iosif88 Well-Known Member

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

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

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

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

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

    Klido Гость

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

    iosif88 Well-Known Member

    Регистрация:
    14 окт 2009
    Сообщения:
    97
    Симпатии:
    0
    Да, на часть документа используются ограничения. (для невозможности изменения содержательной части)
    А как сделать так чтобы при открытия документа открывался именно на чтение? При том что один из утверждающих (очередь которого утвержать документ) должен иметь возможность програмно (нажатие кнопки) отредактировать поля - текущую дату и некотоыре надписи.
     
  4. Klido

    Klido Гость

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

    iosif88 Well-Known Member

    Регистрация:
    14 окт 2009
    Сообщения:
    97
    Симпатии:
    0
    Я в лотусе новичок :)
    Где что прописать?
    Как открыть документ на чтение (где писать код и что писать)
    И как затем отркыть его на редактирование? И получиться ли если у другого документ уже открыт?
     
  6. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    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
     
  7. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Лучше дать права Author. Editor совершенно не нужен. Даже вреден в твоем случае.
     
  8. iosif88

    iosif88 Well-Known Member

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

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

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Чтоб были права создавать документы, нужно включить галку Create Document.
    А отличие от Editor - можно (и нужно!) ограничивать права редактирования документов полями типа Authors.
    Editor может редактировать любой документ, который он видит, Author может редактировать только документы, в которых он есть в полях типа Authors явно или через группы/роли. Подробнее см. хелп
     
  10. iosif88

    iosif88 Well-Known Member

    Регистрация:
    14 окт 2009
    Сообщения:
    97
    Симпатии:
    0
    Я даю права на 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 все идет нормально.
     
  11. nvyush

    nvyush Lotus team
    Lotus team

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

    iosif88 Well-Known Member

    Регистрация:
    14 окт 2009
    Сообщения:
    97
    Симпатии:
    0
    Теперь понятно. Всем спасибо :)
     
Загрузка...

Поделиться этой страницей