• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

<index><STRONG><index><STRONG>Пишу агента</STRONG> <DIV class=&quot

  • Автор темы LIGHT
  • Дата начала
L

LIGHT

Проблема стала ясней, работает так:

Берется первая коллекция документов 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
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!