Агент по приходу почты

Тема в разделе "Lotus - Программирование", создана пользователем Lench, 27 мар 2007.

Статус темы:
Закрыта.
  1. Lench

    Lench Гость

    Доброе время суток!
    Есть проблема с агентом
    собственно создан сам агент, тип "on event", before new mail arrives
    в нем написан код Лотус скрипт
    Код (Text):
    Sub Initialize
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Set db = session.CurrentDatabase
    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument

    Set Doc = New NotesDocument (db)
    doc.Form = "Memo"

    doc.SendTo = "ххх@ххх.com.ua"
    doc.Subject = "qqq"
    Call doc.Send( False)
    End Sub
    Если в тестовом запуске все работает (письмо приходит), то по событию не срабатывает
    На клиенте включено "enable sheduled local agents"
    в свойствах базы не запрещен запуск агентов
    Подскажите пож, что еще надо сделать?
    В хелпе прочитали что нельзя пользовать интерфейсные функции, в том числе @MailSend, а вот есть ли какие-то ограничения на Лотус скрипт - не знаю
    ПОМОГИТЕ ПОЖ!!!
    :)
     
  2. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Какого х... у тебя UI-класс в фоновом агенте????
     
  3. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Lench
    Как правильно выразился Constantin A Chervonenko какого ...
    <!--QuoteBegin-Lench+27:03:2007, 18:38 -->
    <span class="vbquote">(Lench @ 27:03:2007, 18:38 )</span><!--QuoteEBegin-->Dim workspace As New NotesUIWorkspace
    [snapback]60360" rel="nofollow" target="_blank[/snapback]​
    [/quote] ????
    В этом коде его можно безболезненно удалить

    Читать тут
     
  4. Lench

    Lench Гость

    Для Constantin A Chervonenko и Morpheus:
    Большое спасибо, что ответили.
    Без UI агент сработал. Я наконец то разобралась, что UI это user interface и что это означает.

    Подскажите пожалуйста еще один момент.
    Мне нужно, чтобы этот агент срабатывал только на определенный входящий документ -
    на форму (напр. "TaskNotice").
    Какая функция может сделать такую переборку?
    Спасибо.
     
  5. Lench

    Lench Гость

    Получилось с помощью свойства UnprocessedDocuments (класс Database)
    Код (Text):
        'документ, который отправляем
    Dim doc As NotesDocument
    ' входящий документ
    Dim doc2 As NotesDocument
    Dim collection As NotesDocumentCollection

    Set db = session.CurrentDatabase
    Set doc = New NotesDocument (db)

    Set collection = db.UnprocessedDocuments
    Set doc2 = collection.GetFirstDocument ()

    While Not (doc2 Is Nothing)
    If (doc2.GetItemValue("Form")(0) = "TaskNotice" ) Then
    doc.SendTo = "ххх@ххххх.com.ua"
    doc.Subject = "iii"
    Call doc.Send( False)
    End If

    Set doc2 = collection.GetNextDocument (doc2)
    Call session.UpdateProcessedDoc(doc2)
    Wend
    Может кому и пригодится.
     
  6. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Unprocessed в BeforeMail??
    Что-то новенькое... В 5-ке BM-агенты получали док-т только через ContextDocument
     
  7. Lench

    Lench Гость

    У меня 6-ка
     
Загрузка...
Статус темы:
Закрыта.

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