Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set view = db.GetView("By Category")
Set doc = view.GetFirstDocument
While Not(doc Is Nothing)
a = doc.GetItemValue( "val" )
Call doc.ReplaceItemValue( "new_val", a )
Call doc.Save( False, True )
Set doc = view.GetNextDocument(doc)
Wend
End Sub
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim view2 As NotesView
Dim st As String
Dim doc As NotesDocument
Dim doc2 As NotesDocument
Set db = session.CurrentDatabase
Set view = db.GetView("Текущие клиенты")
Set view2 = db2.GetView("Физические лица")
Set doc = view.GetFirstDocument
st="клиент"
While Not(doc Is Nothing)
Set doc2 = view2.GetFirstDocument
While Not(doc2 Is Nothing)
If doc2.GetItemValue("PersonalWorkPlace") = doc1.GetItemValue("AgentShortName") Then
Call doc2.ReplaceItemValue("klient_type",st)
Call doc2.Save(False, True)
End If
Set doc2 = view2.GetNextDocument(doc2)
Wend
Set doc = view.GetNextDocument(doc)
Wend
End Sub
If doc2.GetItemValue("PersonalWorkPlace") = doc1.GetItemValue("AgentShortName") Then
советую такПри выполнении выдает вот такую оошибку "Variant does not contain an object".
на этой строчке
If doc2.GetItemValue("PersonalWorkPlace") = doc1.GetItemValue("AgentShortName") Then
SELECT @All;Нужен Агент, который пробегает по всем документам в указанном представлении и считывает или устанавливает значение у поля
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim view2 As NotesView
Dim st As String
Dim pn As String
Dim sn As String
Dim doc As NotesDocument
Dim doc2 As NotesDocument
Set db = session.CurrentDatabase
Set view = db.GetView("Текущие клиенты")
Set view2 = db.GetView("Физические лица")
Set doc = view.GetFirstDocument
st="клиент"
While Not(doc Is Nothing)
Set view2 = db.GetView("Физические лица")
Set doc2 = view2.GetFirstDocument
While Not(doc2 Is Nothing)
If Instr( doc2.GetItemValue("PersonalWorkPlace")(0), doc.GetItemValue("AgentShortName")(0) ) > 0 Then
Call doc2.ReplaceItemValue("klient_type",st)
Call doc2.Save(False, True)
End If
Set doc2 = view2.GetNextDocument(doc2)
Wend
Set doc = view.GetNextDocument(doc)
Wend
End Sub
Ну, во-первых, странная у тебя структура.
Почему нельзя делать эту проверку и отсылать письмо в postsave?
Ну, а если хочешь так, то попробуй @Text ( economist ), хотя было бы не плохо посмотреть какое значение в нем лежит.
@DbLookUp, @GetDocField.как сделать так чтоб он брал поле из нужного документа???
как вариант оптимизации таких ситуацийКод:Sub Initialize Dim session As New NotesSession Dim db As NotesDatabase Dim view As NotesView Dim doc As NotesDocument Set db = session.CurrentDatabase Set view = db.GetView("By Category") Set doc = view.GetFirstDocument While Not(doc Is Nothing) a = doc.GetItemValue( "val" ) Call doc.ReplaceItemValue( "new_val", a ) Call doc.Save( False, True ) Set doc = view.GetNextDocument(doc) Wend End Sub
Set view = db.GetView("By Category")
If view.EntryCount > 0 Then Call view.AllEntries.StampAll("itemName",value)
@DbLookUp, @GetDocField.
А как правильно формулу написать с использованием этих функций?
Я не совсем программист, просто пришлось разобраться с этой задачкой!
Заранее спасибо.
Обучение наступательной кибербезопасности в игровой форме. Начать игру!