Имам следния код, който преминава през документите в 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
Ще се радвам на всяка помощ.