• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Как на Lotusscript выделить документ в представлении

  • Автор темы soleil
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

soleil

Необходимо программно переместить строку выделения на другой документ в представлении. Можно ли как-то использовать для этого UnprocessedDocuments?
 
H

hosm

что-то типа SelectDocument должно быть, посмотрите в хелпе
 
X

xKlonx

Вот вам пример из хелпа:
Код:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim workspace As New NotesUIWorkspace
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim uiview As NotesUIView
Set db = session.CurrentDatabase
Set uiview = workspace.CurrentView
Set collection = db.AllDocuments
Set doc = collection.GetFirstDocument
Call uiview.SelectDocument(doc)
End Sub
 
D

Darker

Вообще UI-ный метод .SeletDocument как погода, то селектиться, то нет, а иногда селектиться, но экран уходит далеко вниз и не видно какой документ выделился
 
S

soleil

Спасибо. Все получилось с помощью SelectDocument.
 
S

soleil

Как сделать чтобы после создания документа по форме, после закрытия формы этот новый документ выделялся в представлении?
 
H

hosm

наверно, стоит сперва прорефрешить вьюху - через ws.ViewRefresh или NotesView.Refresh, а потом выделять документ.
 
S

soleil

Да, я обновляю вид. Но дело в том, что SelectDocument работает только с NotesUIView. А т.к. я прописываю код на кнопке сохранения формы, то могу использовать только NotesView. Или может я чего-то недопонимаю?
Т.е. если это текущий вид, то я могу взять его как WS.CurrentView, а если я на форме нахожусь то беру его как DB.GetView("ViewName")
Могу ли я из формы получить UIView?
 
H

hosm

наверно, я туплю - но как Вы собираетесь выделить документ не в уи-виде? %)
если вид не открыт, откройте его.
Что, текущий вид встроен в форму, что его из формы пытаетесь получить?
Код по выделению документа действительно иногда глючит, обычно заключается в обработчик.
Код:
Set UIView = ws.CurrentView
On Error Resume Next
If Not uiView Is Nothing Then
Call uiView.View.Refresh
UIView.SelectDocument(doc)	
End If
On Error Goto 0
 
S

soleil

Смотрите. У меня открыт вид. Я создаю новый документ по форме. Открывается форма. Потом нажимается кнопка Сохранить и Закрыть. Форма закрывается. В рабочей области находится вид. Теперь новый документ должен выделиться в этом виде.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
если док создавался при открытой вьюшке, доступен view.Title (опред. время ^_^ )
по нему тоже можно получить инстанс вьюшки (при старте формы, например)
код выше выделяет док
если вьюшка по каким-либо причинам не обновилась (и док не отобразился) - будет облом, но тогда надо "заставить" вьюшку обновиться, до селекта
код можно поместить в разные эвенты формы (QueryClose, например, помня об отмене создания дока)
 
S

soleil

Прошу прощения за глупый вопрос. Что такое инстанс вида?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
экземпляр объекта
и в посте выше - д.б. @ViewTitle (в CFD поле, КомпьютедФорДисплей)
типа Set view=db.GetView(VIEWTILTLE_FIELD)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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