• Codeby web-security - Курс "Тестирование Веб-Приложений на проникновение с нуля" от команды codeby. Общая теория, подготовка рабочего окружения, пассивный фазинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь

Изменить значение поля нескольких документов через @PickList

PeNgViN213

Well-known member
01.07.2017
69
0
#1
Добрый день еще раз! Я вот написал код, но он не работает. Я пытаюсь добиться чтобы через view я выбрал несколько документов и изменить поле "room". А значение для измены взять по формуле. В чем ошибка?

Код:
Sub Initialize
    Dim view As NotesView
    Dim doc As NotesDocument
    Dim item As NotesItem
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim dc As NotesDocumentCollection
    Dim result As Variant
    
    
    Set db = session.CurrentDatabase
    Set dc = db.UnprocessedDocuments
    Set doc = dc.GetFirstDocument
    
    result = Evaluate ({@PickList( [Custom] : [Single] ; "" ; "Справочник\\Помещения"; "Местонахождение"; "Выделите  помещение:"; 3)})
    doc.room = result
End Sub
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 240
18
#2
разбей задачу на две
1) получение нужного значения
2) вписывание этого значения в нужные доки
 

PeNgViN213

Well-known member
01.07.2017
69
0
#3
разбей задачу на две
1) получение нужного значения
2) вписывание этого значения в нужные доки
ну так я и пытаюсь получить значение, мне нужен список из другого представления, чтобы я выбрал оттуда
 

alexas1

Lotus team
10.04.2014
760
154
#4
Добрый день еще раз! Я вот написал код, но он не работает. Я пытаюсь добиться чтобы через view я выбрал несколько документов и изменить поле "room". А значение для измены взять по формуле. В чем ошибка?

Код:
Sub Initialize
    Dim view As NotesView
    Dim doc As NotesDocument
    Dim item As NotesItem
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim dc As NotesDocumentCollection
    Dim result As Variant
   
   
    Set db = session.CurrentDatabase
    Set dc = db.UnprocessedDocuments
    Set doc = dc.GetFirstDocument
   
    result = Evaluate ({@PickList( [Custom] : [Single] ; "" ; "Справочник\\Помещения"; "Местонахождение"; "Выделите  помещение:"; 3)})
    doc.room = result
End Sub
резалт у тя - список значений 3-ей колонки
а те нужен список доков (коллекция)
пробежать по ней в цикле и по изменять doc.room (и не забывать сейвить доки)
и... у @PickList есть эквивалент в LS
 

PeNgViN213

Well-known member
01.07.2017
69
0
#5
резалт у тя - список значений 3-ей колонки
а те нужен список доков (коллекция)
пробежать по ней в цикле и по изменять doc.room (и не забывать сейвить доки)
и... у @PickList есть эквивалент в LS
мне и нужен список значений 3 колонки, но у меня не появляется даже окошко с выбором. Вообще ничего не происходит
 

PeNgViN213

Well-known member
01.07.2017
69
0
#7
Алекс прошу помочь, в чем беда, уже два час бьюсь
Код:
Sub Initialize
    Dim workspace As New NotesUIWorkspace
    Dim picklist As Variant
    Dim messagelist As String
    picklist = workspace.PickListStrings( _
    PICKLIST_CUSTOM, _
    True, _
    "Local", _
    "stock", _
    "Оборудование/местонахождению", _
    "Название окна", _
    "Please select some documents.", _
    3, _
    "Местонахождение" )
    If ( IsEmpty( picklist ) ) Then
        MessageBox "Canceled" , , "Resource selected"
    Else
        ForAll plist In picklist
            messagelist = messagelist & plist & Chr(10)
        End ForAll
        MessageBox messagelist  , , "Resource selected"
    End If
End Sub
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 693
307
#13
Мне нужно все в текущей базе, даже не с другой, просто из другого представления "Оборудование/местонахождению"
пустая строка, в нотусе такие умолчальные правила (для тек. БД - тоже)
 

alexas1

Lotus team
10.04.2014
760
154
#14
пустая строка, в нотусе такие умолчальные правила (для тек. БД - тоже)
всё же луче всегда так (вдруг база на сервер уедет;)
типа picklist = ws.PickListStrings( PICKLIST_CUSTOM, true, db.server, db.FileName, .....
соотв перед этим - Set db = ws.CurrentDatabase.Database, напр
---------------
пардон, это PeNgViN213 - у
 

PeNgViN213

Well-known member
01.07.2017
69
0
#15
всё же луче всегда так (вдруг база на сервер уедет;)
типа picklist = ws.PickListStrings( PICKLIST_CUSTOM, true, db.server, db.FileName, .....
соотв перед этим - Set db = ws.CurrentDatabase.Database, напр
---------------
пардон, это PeNgViN213 - у
Разобрался, а как получить выбранное значение, не подскажите?
 

alexas1

Lotus team
10.04.2014
760
154
#16
Разобрался, а как получить выбранное значение, не подскажите?
ну, там (в picklist) и есть список всех выбранных значений (из 3-ей колонки)
соотв, в фороле они и будут (в plist, ток тамжэж не лист жэ, а ток одно значение), на каждую итерацию
----------
если нужны все и сразу, можно их склеить в строку join(picklist)
 
Симпатии: Понравилось Vertigo

PeNgViN213

Well-known member
01.07.2017
69
0
#17
ну, там (в picklist) и есть список всех выбранных значений (из 3-ей колонки)
соотв, в фороле они и будут (в plist, ток тамжэж не лист жэ, а ток одно значение), на каждую итерацию
----------
если нужны все и сразу, можно их склеить в строку join(picklist)
а есть пример, что я не понял про одно
 

alexas1

Lotus team
10.04.2014
760
154
#18
а есть пример, что я не понял про одно
... я про название переменной plist - может же запутать (потом, когда всё забудешь): получается, что каждый элемент списка (picklist ) тоже список (plist) \это я ворчу и придираюсь:cool:\
 

PeNgViN213

Well-known member
01.07.2017
69
0
#19
... я про название переменной plist - может же запутать (потом, когда всё забудешь): получается, что каждый элемент списка (picklist ) тоже список (plist) \это я ворчу и придираюсь:cool:\
о боже как сложно =)
Извините меня, я просто только только начинаю
 
Вверх Снизу