Отображение изменений в задаче

Автор Тема: Отображение изменений в задаче  (Прочитано 24078 раз)

ViV

  • Global Moderator
  • Профессионал
  • *****
  • Сообщений: 1428
  • Владимир Егоров
    • Просмотр профиля
    • lotusnotes.ru
    • E-mail
Re: Отображение изменений в задаче
« Ответ #15 : 14 Январь 2010, 12:19:29 »
При записи условия поиска имя поля обрамляется в квадратных скобках:
{[Subject] = "111"}

Причем базы, по которым происходит полнотекстовый поиск должны быть проиндексированы.

А для чего вам нужен ProcessDb? Работайте с db.

lotusnotes.ru

  • Global Moderator
  • Старший специалист
  • *****
  • Сообщений: 260
    • Просмотр профиля
    • E-mail
Re: Отображение изменений в задаче
« Ответ #16 : 15 Январь 2010, 11:43:48 »
Помогите, пожалуйста. Какой-то ужас с этим агентом.
Не могу сообразить. Сейчас получается, что агент доходит до строки
If ProcesDb.IsOpen Then
и после этой строки, сразу переходит в строку
End If
End If
End If
Wend
Не могу понять, как по полю из рабочей базы искать задачи в почтовой базе пользователей.

так все-таки ProcesDb или ProcessDb?

K85

  • Старший специалист
  • ****
  • Сообщений: 127
  • http://nick-name.ru/sertificates/727639/
    • Просмотр профиля
Re: Отображение изменений в задаче
« Ответ #17 : 15 Январь 2010, 15:28:10 »
If ProcessDb.IsOpen Then
Но уже переделываю....
Может поскажете, как найти документы в почтовой базе пользователя, которые имеют одиноковый Unid, с документами в другой базе (в которой и формируется задача)
При сохранении в базе (в которой и формируется задача) документа заполняется NotesId. Если найдена сама почта пользователя Evaluate({@NameLookup([Exhaustive];} + adr + {;"MailFile")}), известен NotesId (Set doc = db.GetDocumentByID(NoteId)), то как потом работать с его базой и как в ней найти домументы?
« Последнее редактирование: 15 Январь 2010, 15:58:26 от K85 »

lotusnotes.ru

  • Global Moderator
  • Старший специалист
  • *****
  • Сообщений: 260
    • Просмотр профиля
    • E-mail
Re: Отображение изменений в задаче
« Ответ #18 : 15 Январь 2010, 23:05:35 »
Предлагаю следующий алгоритм:
1. Когда создаете документ в почтовой базе пользователя, получаете UNID создаваемого документа (maildoc.UniversalID).
set maildoc = maildb.CreateDocument
2. Этот UNID сохраняете в специальное поле в документ в рабочей базе (где формируется задача).
Например:
doc.MailDocID = maildoc.UniversalID
call doc.Save (true, true)
3. Если в рабочей базе меняется задача (документ doc) и нужно изменить соответствующую задачу в почтовой базе пользователя, то или создаем агента, запускающегося при изменении документов в рабочей базе, или обрабатываем событие сохранения документа (когда пользователь меняет поля). Агент находит соответствующий документ в почтовой базе по его сохраненному UNID:
set maildoc = maildb.GetDocumentByUNID(doc.MailDocID(0))
maildoc.Subject = doc.Subject(0) 'здесь обновляем задачу в почте
...
call maildoc.save(true,true)

K85

  • Старший специалист
  • ****
  • Сообщений: 127
  • http://nick-name.ru/sertificates/727639/
    • Просмотр профиля
Re: Отображение изменений в задаче
« Ответ #19 : 18 Январь 2010, 18:52:27 »
В документе при нажатии кнопки указываю, что документ закрыт:

If (note.Status(0)= "0") Then     
memo.DueState = 9
memo.DueDateTime=note.DateClosed(0)
memo.Form = "Task"
End If

пробовал memo.DueState = "9"
что не так? на почту приходит письмо, но не указывается, что оно выполненное

lotusnotes.ru

  • Global Moderator
  • Старший специалист
  • *****
  • Сообщений: 260
    • Просмотр профиля
    • E-mail
Re: Отображение изменений в задаче
« Ответ #20 : 21 Январь 2010, 00:00:25 »
Form = "TaskNotice" ?
для письма-уведомления вроде бы так должно быть