Параллельная работа с документом

Тема в разделе "Lotus - Программирование", создана пользователем sanch, 28 мар 2008.

  1. sanch

    sanch Well-Known Member

    Регистрация:
    17 июл 2006
    Сообщения:
    216
    Симпатии:
    0
    Доброго времени суток!
    В общем проблема известная: если больше 1-го юзера пытаются работать с одним доком, то в итоге изменения сохранятся от последнего. При чем документ не находится в режиме редактирования, все изменения делает скрипт.
    Кто сталкивался с таким, подскажите плз варианты решения, кроме галки "Alow document locking" :p, теряется весь смысл параллельности.
    ЗЫ Складывается такое впечатление что когда юзер открыл док ему все данные загрузились в что то типа кеша, и как не старайся кеш проапдейтится только после повторного открытия. Ибо раньше получал notesdocument через notesUIdocument? думал проблема решится если получить через db.getdocumentbyID, а нифига :(
    В общем заранее благодарен
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    чтото не совсем понял что собственно надо?
    не дать возможность паралельного редактирования? ну так проде Lock справляеться ( если документ один и нет цепочки - то всё просто )

    ?
     
  3. sanch

    sanch Well-Known Member

    Регистрация:
    17 июл 2006
    Сообщения:
    216
    Симпатии:
    0
    Нет, как раз наоборот дать возможность параллельного радактирования
     
  4. Sandr

    Sandr Гость

    Делайте по копии документа каждому пользователю, при этом к оснолвному документу доступа не давайте. После того как все пользователи сделают все что надо - обновляйте данные в основном документе, а копию прибивайте...
     
  5. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Sandr
    Да, поддерживаю... делать просто ответные документы... ну адальше остаёться решить чьи изменения главнее, тут или по дате или по иерархии или всё вместе )))
     
  6. Sandr

    Sandr Гость

    Ответные зачем? Пусть себе будут обыкновенными.. по той же форме.. просто пусть хранят в себе признак кто у них главный...
     
  7. sanch

    sanch Well-Known Member

    Регистрация:
    17 июл 2006
    Сообщения:
    216
    Симпатии:
    0
    Не совсем понял, как это делать по копии ?
     
  8. Sandr

    Sandr Гость

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

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

    Вроде понятно написал.. :p
     
  9. sanch

    sanch Well-Known Member

    Регистрация:
    17 июл 2006
    Сообщения:
    216
    Симпатии:
    0
    Ясно... Но вариант сакс имхо :p
    Кста обьясните плз почему я получаю старый нотесдокумент через db.getdocumentbyID?
     
  10. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Есть лучше?
    Потому что в памяти висит. Используй notesView.GetDocumentByKey или notesDatabase.Search.
     
  11. sanch

    sanch Well-Known Member

    Регистрация:
    17 июл 2006
    Сообщения:
    216
    Симпатии:
    0
    Идея верна, решение не совсем грамотное.
    Попробую.
    а если попробовать получить db через GetDatabase , а не через СurrentDatabase?
     
  12. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Не, вариант не sux.
    А как раз то что нужно :p

    Что бы раскешировать док, то, как сказал Medevic, надо перевзять документ через view.
    Можно базу перевзять через ReplicaID и там взять документ по униду, но это долго.
    Я вторым способом профайлы раскешировал, т.к. через view без извратов профайл не взять.

    Через getDatabase не вырастет каменный цвятог.
    Через OpenByReplicaID вырастет.
     
  13. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    В каком месте? И как лучше?
    Попробуй. :p
     
  14. sanch

    sanch Well-Known Member

    Регистрация:
    17 июл 2006
    Сообщения:
    216
    Симпатии:
    0
    Все работают с одним доком. но обработка документа идет через таски
     
  15. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    таски - это документы типа "что и где менять?". Почти одно и тоже.

    Я так делаю. :p
     
  16. sanch

    sanch Well-Known Member

    Регистрация:
    17 июл 2006
    Сообщения:
    216
    Симпатии:
    0
    Почти да не почти :p Не нужно городить кучу копий. Вдруг краш какой-нить, попробуй их потом собери :(
     
  17. Sandr

    Sandr Гость

    Если Вы сами не будете делать копии, кто лотус их Вам сам сделает.. в виде конфликтов.. оно Вам надо?
     
  18. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Почему? Шедульный агент всё же будет использоваться, как я понял.
     
  19. Sandr

    Sandr Гость

    Я так понял, что автор темы настаевает на том, что бы пользователи одновременно работали с основным документом, без всяких служебных доков... Куда тут шедульный агент прикрытить? :p Или все же служебные доки будут?
     
  20. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Как я понял, служебные доки - это таски. :)
    Поэтому и сказал, что смысл одинаков. Вот если бы от шедульного агента избавиться... Но это фантастика. :)
     
Загрузка...
Похожие Темы - Параллельная работа документом
  1. rrrFer
    Ответов:
    0
    Просмотров:
    427
  2. Andrey Kha
    Ответов:
    0
    Просмотров:
    23
  3. Hoasker
    Ответов:
    0
    Просмотров:
    64
  4. garri671
    Ответов:
    0
    Просмотров:
    54
  5. lelik200969
    Ответов:
    0
    Просмотров:
    50

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