Возможно, это что-то легкое, но я бьюсь головой о стену, пытаясь понять, что я делаю неправильно. Программа читает один документ в локальной базе данных, получает список, сохраненный в поле, просматривает каждую запись в списке и ищет имя в представлении в другой базе данных, как только она находит его, она обновляет документ и сохраняет его. Проблема, которую я вижу, состоит в том, что pdo c (выделено жирным шрифтом ниже) никогда не устанавливается в значение, которое приводит к тому, что остальная часть программы не может обновить какие-либо документы.
Sub Initialize
Dim db As NotesDatabase
Dim s As New NotesSession
Dim pview As NotesView
Dim ldoc As NotesDocument, pdoc As NotesDocument
Dim lgroup As Variant, pgroup As Variant, errors As Variant
Dim collection As NotesDocumentCollection
Dim nab As New NotesDatabase ("","")
Call nab.Open( "xxxx/xxx", "names.nsf" )
Set db = s.currentdatabase
Set collection = db.unprocesseddocuments
Set ldoc = collection.getfirstdocument
Set pview = nab.GetView ("gfmm")
While Not(ldoc Is Nothing)
On Error Resume Next
lgroup = ldoc.groups(0)
ForAll g In lgroup
**Set pdoc = pview.GetDocumentByKey( g )**
pgroup = pdoc.ListName(0)
If lgroup = pgroup Then
pdoc.GroupType = "0"
Call pdoc.Save(True, True)
Else
errors = errors + g
End If
End ForAll
ldoc.errors = errors
ldoc.status = "Complete"
Call ldoc.save(True, True)
Set ldoc = collection.getnextdocument(ldoc)
Wend
End Sub