У меня есть следующий код, который просматривает документы в TestView1, и для каждого документа в этом представлении просматривает документы в TestView2, выполняя некоторые действия (вывод в файл).
Для того, чтобы циклы были относительно своевременными (есть куча старых документов, и я хочу, чтобы на них была проставлена только сегодняшняя или предстоящая дата), я нашел первый документ для текущей даты и сохранил его UNID, чтобы этот документ мог выступать в качестве начальной позиции для внутреннего цикла (документы в MyView2 расположены в хронологическом порядке).
Внутренний цикл работает правильно в первый раз, но во втором цикле я получаю сообщение об ошибке «Документ не отображается в поле зрения TestView2». Я добавил, какая строка разбивает мой код.
Вот мой код:
Dim sess As New NotesSession
Dim db As NotesDatabase
Dim rDoc As NotesDocument
Dim mDoc As NotesDocument
Dim rView As NotesView
Dim mView As NotesView
Dim unid As String
Dim todayDateTime As New NotesDateTime("Today")
Set db = sess.currentDatabase
Set rView = db.GetView("TestView1")
Set rDoc = rView.GetFirstDocument
Set mView = db.GetView("TestView2")
Set mDoc = mView.GetFirstDocument
Set mDoc = mView.GetFirstDocumentb 'Finds the UNID of the first document of the day
Do While Not (mDoc Is Nothing)
Dim startDate As New NotesDateTime(mDoc.startDate(0))
If startDate.DateOnly = todayDateTime.DateOnly Then
unid$ = mDoc.UniversalID
Exit Do
End If
Set mDoc = mView.GetNextDocument(mDoc)
Loop
While Not (rDoc Is Nothing) 'Outer Loop
If rDoc.Site(0) = "SAMPLE" Then
<CODE>
If Not unid$ = "" Then
Set mDoc = db.Getdocumentbyunid(unid$)
While Not (mDoc Is Nothing) 'Inner Loop
If mDoc.ResourceName(0) = rName$ Then
<PRINT TO FILE CODE>
End If
Set mDoc = mView.GetNextDocument(mDoc) <--- This line here breaks the code**
Wend
End If
End If
Set rDoc = rView.GetNextDocument(rDoc)
Wend
Был бы признателен за любую помощь.