Временный доступ

Автор Тема: Временный доступ  (Прочитано 11742 раз)

Alsodan

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
    • E-mail
Временный доступ
« : 22 Январь 2013, 12:54:44 »
Введение.
Есть основной документ. Он открыт для чтения/редактирования некоторым пользователям.
Они на основании его создают другой документ, который доступен для чтения/редактирования другим пользователям.
Внимание!
Как можно дать людям, редактирующим второй документ, временный доступ на редактирование первого документа?
Пытался сделать агента и запустить его под правами админа. Не помогло. Не видят они документ-основание.
P.S. Для тех кто знает СЭД Босс-Референт: Надо на этапе рассмотрения дать рассматривающему возможность создать еще один этап рассмотрения.

ViV

  • Global Moderator
  • Профессионал
  • *****
  • Сообщений: 1428
  • Владимир Егоров
    • Просмотр профиля
    • lotusnotes.ru
    • E-mail
Временный доступ
« Ответ #1 : 22 Январь 2013, 14:55:26 »
Что ваш агент делал?

Alsodan

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
    • E-mail
Временный доступ
« Ответ #2 : 22 Январь 2013, 15:07:42 »
Должен был найти основной документ и внести в него данные. Однако он не видит основного документа :(

ViV

  • Global Moderator
  • Профессионал
  • *****
  • Сообщений: 1428
  • Владимир Егоров
    • Просмотр профиля
    • lotusnotes.ru
    • E-mail
Временный доступ
« Ответ #3 : 22 Январь 2013, 16:55:57 »
Как пытались найти?

Alsodan

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
    • E-mail
Временный доступ
« Ответ #4 : 23 Январь 2013, 07:23:43 »
Искал таким образом

Set mainProcDoc = db.GetDocumentByUNID(doc.GetItemValue("MainProcessID")(0))

В поле MainProcessID - UNID основного документа

Alsodan

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
    • E-mail
Временный доступ
« Ответ #5 : 23 Январь 2013, 13:15:52 »
Сделал агента, который должен был дать на исходный документ права Читателя....ну а потом подобный, чтобы их убрать.
Агента, подписанного админом, пускал методом RunOnServer из дочернего документа.
Может он неправильно ищет нужный мне документ?

Код агента.

   Dim doc As NotesDocument
   Dim sess As New NotesSession
   Dim db As NotesDatabase   
   
   Dim na As NotesAgent
   Set na = sess.Currentagent
   

   If na.Parameterdocid = "" Then
      Set doc = sess.Documentcontext
   Else
      Set doc = sess.Currentdatabase.Getdocumentbyid(na.Parameterdocid)
   End If
   
   If (doc Is Nothing) Then
      Exit Sub
   End If
   
   Dim mainProcDoc As notesdocument
   Set mainProcDoc = db.GetDocumentByUNID(doc.GetItemValue("MainProcessID")(0))
   
   mainProcDoc.DocReaders = FullTrim(ArrayAppend(mainProcDoc.DocReaders, sess.Username))
   
   Call ws.ViewRefresh

ViV

  • Global Moderator
  • Профессионал
  • *****
  • Сообщений: 1428
  • Владимир Егоров
    • Просмотр профиля
    • lotusnotes.ru
    • E-mail
Временный доступ
« Ответ #6 : 24 Январь 2013, 19:27:56 »
Нужно узнать на каком этапе ошибка.
Посмотрите что содержится в doc.GetItemValue("MainProcessID")(0), корректный ли это UNID.

Slava

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Временный доступ
« Ответ #7 : 07 Февраль 2013, 13:17:27 »
P.S. Для тех кто знает СЭД Босс-Референт: Надо на этапе рассмотрения дать рассматривающему возможность создать еще один этап рассмотрения.
А никак. :-) это приувет от концепции воркфлоу,настройки и т.д. Для смены рассматривающего - регистратору(!) необходимо вернуть документ на предидущую стадию(прием и регистрация) и сменить рассматривающего. Вы бы описали ситуацию подробнее может стоит в маршрут согласования добавить ещё кого?