L
LIGHT
Проблема стала ясней, работает так:
Берется первая коллекция документов doc
Потом перебирается цикл второй коллекции doc и тут доходит до упора Set doc1 = dc1.GetNextDocument (doc1)
Дальше берется 2рой документ из первой коллекции, но во второй коллекции уже GetNextDocument дощел до упора.
Попытка обойти так:
...............
...............
Увенчалась ошибкой.
Что-то в этой теме я сам с собой ни кто не хотит пообщаться?
Ну все разобрался!!!
Всем спасибо за помощь!
Рабочий вариант
Берется первая коллекция документов doc
Потом перебирается цикл второй коллекции doc и тут доходит до упора Set doc1 = dc1.GetNextDocument (doc1)
Дальше берется 2рой документ из первой коллекции, но во второй коллекции уже GetNextDocument дощел до упора.
Попытка обойти так:
...............
...............
Set doc1 = dc1.GetNextDocument (doc1)
Loop
Set doc = dc.GetNextDocument (doc)
Set doc1 = dc1.GetFirstDocument(doc1)
Loop
Увенчалась ошибкой.
Что-то в этой теме я сам с собой ни кто не хотит пообщаться?
Ну все разобрался!!!
Всем спасибо за помощь!
Рабочий вариант
Код:
Sub Click(Source As Button)
Dim s As NotesSession
Dim db As NotesDatabase
Dim uidoc As NotesUIDocument
Dim dc As NotesDocumentCollection
Dim dc1 As NotesDocumentCollection
Dim doc As NotesDocument
Dim doc1 As NotesDocument
Dim w As NotesUIWorkspace
Dim createDate As Variant
Dim i As Variant
'***********************************************
Set s = New NotesSession
Set db = s.CurrentDatabase
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument
Set dc1 = db.UnprocessedDocuments
'Set doc1 = dc1.GetFirstDocument
Set w = New NotesUIWorkspace
'**********************************************
Let counts=dc.Count+dc1.Count
If counts = 0 Then
Messagebox "Необходимо отметить минимум 1 документ",, "Нет документов"
Exit Sub
End If
Do Until doc Is Nothing 'Первый документ
Set doc1 = dc1.GetFirstDocument
pole1=doc.From(0) 'Поле FORM
pole3=doc.SendTo(0) 'Поле SendTo
createDate1 = doc.Created 'Время создания документа
pole5 = doc.Subject(0) 'Тема
pole7 = doc.EnterSendFrom(0) 'От кого
Messagebox(pole1)
Do Until doc1 Is Nothing 'Следующий документ по циклу
pole2=doc1.From(0) 'Поле FORM
pole4=doc1.SendTo(0) 'Поле SendTo
createDate2 = doc1.Created 'Время создания документа
pole6 = doc1.Subject(0) 'Тема
pole8 = doc1.EnterSendFrom(0) 'От кого
Messagebox(pole6)
' Проверка является ли документ дублем но не тем же документом признак разная дата
If pole1=pole2 And createDate1 <> createDate2 And pole3=pole4 And pole5=pole6 Then
'And pole7=pole8
Call doc1.ReplaceItemValue("IconOk", "82")
Call doc1.ReplaceItemValue("Ex_Status", "X")
Call doc1.save(True,True,True)
'Messagebox("Документ от "+ pole7 +" "+ pole6+" перемещено")
i=i+1
Else
i=i
End If
Set doc1 = dc1.GetNextDocument (doc1)
Loop
Set doc = dc.GetNextDocument (doc)
Loop
Call w.ViewRefresh
On Error Resume Next
Set UIdoc=w.CurrentDocument
On Error Goto 0
If Not UIdoc Is Nothing Then
If Not UIdoc.InPreviewPane Then Call UIdoc.Close
End If
If i = 0 Then
Print "Документов обработано 0"
Else
Print "Документов обработано " i+""
End If
End Sub