Getdocumentbykey

Irina

Green Team
31.05.2019
145
2
BIT
0
помогите, пожалуйста
есть встроенный вид в документе, надо агентом менять значение в документе , если во встроенном виде определенный текст в последнем внесенном во встроенный вид
в самом документе это поле определила так (проверила нормально работает)
Код:
f:=@DbLookup ( "Notes" : "NoCache"; "" : "" ; "view" ; mycodefield ; 2  ); 
fl:=@Subset(@Trim(f);1) ;
@If(@Contains(fl;"значение") ;"1"; "2")  -- "поиск по части названия"
теперь пробую в агенте тоже самое определить
вначале нахожу основной документ, а потом надо по его mycodefield найти есть ли во встроенном виде нужное название
Код:
Set view = db.GetView( "view1" )
Set doc = view.Getfirstdocument
  
    While Not (doc Is Nothing)
    ....
  
    Set view2 = db.getview("view2")
    Set doc2 = view2.GetFirstDocument
    Dim Search As NotesDocument
    Set Search = view2.Getdocumentbykey(doc.mycodefield(0))
                If SearchIs Nothing Then
                ....
                Else             
                    If doc2.ColumnValues(2)="поиск по части названия" Then
 
Последнее редактирование:

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 983
611
BIT
453
помогите, пожалуйста
есть встроенный вид в документе, надо агентом менять значение в документе , если во встроенном виде определенный параметр
в самом документе это поле определила так (проверила нормально работает)
Код:
f:=@DbLookup ( "Notes" : "NoCache"; "" : "" ; "view" ; mycodefield ; 2  );  --- здесь возможно заменю на вид, когда только первое значение подходит условию
fl:=@Trim(f);
@If(@Contains(fl;"значение") ;"1"; "2")  -- "поиск по части названия"
теперь пробую в агенте тоже самое определить
вначале нахожу основной документ, а потом надо по его mycodefield найти есть ли во встроенном виде нужное название
Код:
Set view = db.GetView( "view1" )
Set doc = view.Getfirstdocument
 
    While Not (doc Is Nothing)
    ....
 
    Set view2 = db.getview("view2")
    Set doc2 = view2.GetFirstDocument
    Dim Search As NotesDocument
    Set Search = view2.Getdocumentbykey(doc.mycodefield(0))
                If SearchIs Nothing Then
                ....
                Else            
                    If doc2.ColumnValues(2)="поиск по части названия" Then
в чем помощь нужна? @Contains это в ЛС If field Like {*substring*} Then ...
и вам уже неоднократно указывали - используйте NotesViewNavigator - это быстрее работает
 
Последнее редактирование:
  • Нравится
Реакции: Irina

alexas1

Green Team
10.04.2014
1 202
225
BIT
42
помогите, пожалуйста
есть встроенный вид в документе, надо агентом менять значение в документе , если во встроенном виде определенный параметр
в самом документе это поле определила так (проверила нормально работает)
Код:
f:=@DbLookup ( "Notes" : "NoCache"; "" : "" ; "view" ; mycodefield ; 2  );  --- здесь возможно заменю на вид, когда только первое значение подходит условию
fl:=@Trim(f);
@If(@Contains(fl;"значение") ;"1"; "2")  -- "поиск по части названия"
теперь пробую в агенте тоже самое определить
вначале нахожу основной документ, а потом надо по его mycodefield найти есть ли во встроенном виде нужное название
Код:
Set view = db.GetView( "view1" )
Set doc = view.Getfirstdocument
    
    While Not (doc Is Nothing)
    ....
    
    Set view2 = db.getview("view2")
    Set doc2 = view2.GetFirstDocument
    Dim Search As NotesDocument
    Set Search = view2.Getdocumentbykey(doc.mycodefield(0))
                If SearchIs Nothing Then
                ....
                Else               
                    If doc2.ColumnValues(2)="поиск по части названия" Then
 
  • Нравится
Реакции: Макаров Андрей
18.11.2019
5
2
BIT
0
В дополнение к вышесказанному, по коду бы поставил проверки:
Код:
    If view Is Nothing Then     'проверка доступности представления
        Messagebox "Не найдено представление View1 "        
        Exit Sub
    End If

    If Not db.Isopen Then Exit Sub    'проверка доступности базы
 
  • Нравится
Реакции: Irina
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!