Просмотр сообщений - Kasher

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Kasher

Страницы: [1]
1
Проблему решила следующим образом:

Sub Main()
Dim s As New NotesSession
        Dim db As NotesDatabase
        Dim View As Object
        Dim nDoc As Object
        Dim nDoc1 As Object
        Dim itm As Object
        Dim sPathToSave As String

sPathToSave = "C:\temp\lotus\"
        Const RICHTEXT = 1
        Const EMBED_ATTACHMENT = 1454
        s.Initialize("password")
        db = s.GetDatabase("test/test2/ru", "orders.nsf", False)
        View = db.GetView("($Inbox)")
        View.AutoUpdate = False
        nDoc = View.GetFirstDocument
        While Not (nDoc Is Nothing)
            nDoc = View.GetFirstDocument
            If nDoc.HasEmbedded Then
                itm = nDoc.GetFirstItem("Body")
                If itm.Type = RICHTEXT Then
                    Dim attch As Object
                    For Each attch In itm.EmbeddedObjects
                        If (attch.Type = EMBED_ATTACHMENT) Then

                            attch.ExtractFile(sPathToSave & attch.Name)
                           
                        End If
                    Next
                End If

            End If

            nDoc1 = nDoc
            nDoc = View.GetNextDocument(nDoc)
            'удаление письма
            If Not (nDoc1 Is Nothing) Then
                Call nDoc1.PutInFolder("Loaded", False) ' помещение письма в папку Loaded
                nDoc1.RemoveFromFolder("($Inbox)") ' удаление письма из папки Входящие
            End If

        End While

    End Sub

Т.е. продублировала строку

nDoc = View.GetFirstDocument
        While Not (nDoc Is Nothing)
            nDoc = View.GetFirstDocument

И все, проблема решилась, модуль разбирает все входящие письма.

2
все, что удалось пока найти по своей проблеме это вот

http://web3.inttrust.ru/Site/itforum.nsf/all/33B9BACBD9E52BFAC32576E100235405?OpenDocument

но честно сказать так и не поняла, решилась там проблема эта или нет. Помогите разобраться пожалуйста.

3
Добрый день!

Написала модуль, который разбирает входящие сообщения. Написан в Visual Studio 2005 на VB.NET. Планируется, что он будет запускаться автоматом через каждую минуту.
Его задача делать следующее: берет пришедшее письмо, сохраняет из него вложение (это xml-файл) в папку на компьютере, после этого перемещает данное письмо в другую папку "Loaded" в Lotus, а из Входящих удаляет.

Когда написано вот так:

If Not (nDoc1 Is Nothing) Then
                Call nDoc1.PutInFolder("Loaded", False) ' помещение письма в папку Loaded
                nDoc1.RemoveFromFolder("($Inbox)") ' удаление письма из папки Входящие
            End If

то получается, что модуль отрабатывает не больше 3 писем, хотя во Входящих может лежать 10 писем. Т.е. программа думает, что входящих больше нет и останавливается.


А если написано вот так, то отрабатываются все письма:

If Not (nDoc1 Is Nothing) Then
                nDoc1.remove(True)
            End If

но соответственно, письма не помещаются в папку "Loaded", а только удаляются из Входящих.

Подскажите пожалуйста, как нужно все-таки правильно написать это самое перемещение и при этом отработать все входящие письма?

Страницы: [1]