' описание переменных
' описывать переменные очень желательно по одной в каждой строке
' размещать переменные тоже желательно как-то логично сгрупировав, например, объекты классом NotesUIWorkspace и NotesSession обычно описывают в самом начале
' позже объекты БД, колекций, документов, т.е. по некоторой иерархии
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim DB As NotesDatabase
Dim ODB As NotesDatabase
Dim RezCol As NotesDocumentCollection
Dim DocCol As NotesDocumentCollection
Dim RezDoc As NotesDocument
Dim Doc As NotesDocument
Set DB = session.CurrentDatabase
Set ODB = session.GetDatabase ( DB.Server, "baza.nsf" )
' код тоже должен быть отдельными логическими блоками, а не смешан между собой
Set DocCol = DB.UnprocessedDocuments
' в агенте, который запускается на выделенных документах, эта проверка не обязательна, т.к. колекция будет заполнена документами, как минимум одним
If DocCol.Count > 0 Then
' сначала необходимо получить документ справочника
Set RezCol= ws.PickListCollection(3, False, ODB.Server, ODB.FilePath, "TESTView", "1", "1") ' согласно справке, первый параметр должен быть 3 (цифра три)
If RezCol.Count > 0 Then
Set RezDoc = RezCol.GetFirstDocument
' потом уже беремся за обработку
Set Doc = DocCol.GetFirstDocument
While Not(Doc Is Nothing)
' Set Doc=DocCol.GetFirstDocument ---- ЭТО что вообще такое было? вечный цикл? :)
Call Doc.ReplaceItemValue("PoleTest", RezDoc.GetItemValue("имя поля, которое копируем"))
Call Doc.Save(True, False)
Set Doc = DocCol.GetNextDocument(Doc)
Wend
End If
End If