Selectdocument

Тема в разделе "Lotus - Программирование", создана пользователем _Roman_, 18 июл 2007.

  1. _Roman_

    _Roman_ Гость

    Подскажите, как из открытого документа открыть view и установить курсор на необходимый документ.
    Проблема в том, что если view уже открыт в другой вкладке, то OpenView а потом SelectDocument отрабатывает и курсор перемещает, а если View не открыт, то он открывается но курсор не перемещается.

    Call uidb.OpenView("ActiveDate", ,False)
    Set uiview = ws.CurrentView
    Call uiview.SelectDocument(doc)
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: _Roman_

    Ну Вы же сами поставили в <!--QuoteBegin-_Roman_+18:07:2007, 10:50 -->
    <span class="vbquote">(_Roman_ @ 18:07:2007, 10:50 )</span><!--QuoteEBegin-->Call uidb.OpenView("ActiveDate", ,False)
    [snapback]72551" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    второй параметр False(если не задан как в Вашем случае), вот он и не открывает
    Курите хэлп

    newinstance
    Note This parameter is new with Release 5.
    Boolean. Optional. True to open the view in a new window if it is already open. False (default) to give focus to the already open view.


    так шо попробуйте

    Код (Text):
    Call uidb.OpenView("ActiveDate", [b]True[/b],False)
     
  3. Ronchik

    Ronchik Гость

    Для: _Roman_
    создавай раббочее пространство ws уже после того как ты открыл view т.е.
    Код (Text):
    Call uidb.OpenView("ActiveDate", ,False)
    Dim ws as New notesuiworkspace
    Set uiview = ws.CurrentView
    Call uiview.SelectDocument(doc)
     
  4. _Roman_

    _Roman_ Гость

    Для: Ronchik
    Не работает. Поведение вьюва не изменилось. Мне кажется это связано с тем, что когда идет команда OpenView он открывается не сразу а после того как отрабатывает моя процедура нажатия на кнопку. Я ставил перед SelectDocument sleep 3. Лотус задумывается, но вьюв не появляется. Он открывается после завершения процедуры click и потом ставит курсор в зависимости от своих настроек (первая строка или последняя строка или открытый ранее документ)

    Для Morpheus
    Вы наверное невнимательно прочли мой пост. Вьюв открывается в любом случае. Этот параметр влияет на то, откроется ли вьюв в новой вкладке или перейдет на открытую. Кстати в хелпе описано 4 параметра для OpenView
    Call notesUIDatabase.OpenView( viewName$ [, key$] [, newinstance] [, replaceView] )
    Что такое key$ - String. Optional. The value to scroll to
    какой-то scroll - может это то что мне нужно?
     
  5. Ronchik

    Ronchik Гость

    Для: _Roman_
    вот у меня вопрос как должен открываться view
    1. в текущем окне
    2. в новом окне

    это большая разница


    Для: _Roman_
    предлагаю вот эту часть
    Код (Text):
    Dim ws as New notesuiworkspace
    Set uiview = ws.CurrentView
    Call uiview.SelectDocument(doc)
    перенести на Postopen открывающегося view
     
  6. _Roman_

    _Roman_ Гость

    Для Ronchik
    По поводу текущего или нового окна. Я лучше опишу зачем мне это надо.
    Приходит юзверю письмо с уведомлением о создании нового документа. И ссылка на документ. Обычная ситуация. Я хочу чтоб он мог не просто кликнуть и перейти в документ, а перейти на вьюв с эти документом и чтобы курсор на него стал (или на родителя этого документа). Поэтому человек открывает документ, а там кнопка - клацает и открывает вьюв. Вот так. Открыть прямо из письма вьюв я не могу. Не получается кнопку с кодом в письмо вставить...

    По поводу Postopen открывающегося view. Я думал об этом. А как я во вьюв передам нужный мне Doc, чтоб он знал куда передвинуться?
     
  7. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-_Roman_+18:07:2007, 12:45 -->
    <span class="vbquote">(_Roman_ @ 18:07:2007, 12:45 )</span><!--QuoteEBegin-->По поводу Postopen открывающегося view. Я думал об этом. А как я во вьюв передам нужный мне Doc, чтоб он знал куда передвинуться?
    [snapback]72582" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Через notes.ini
    @Environment / Environ function
    при передаче туда засунуть унид,
    при открытии вида взять документ по униду ну и т.д.
     
  8. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: _Roman_
    Создаешь кнопку с формулой @Command([GoUpLevel]).
     
  9. Ronchik

    Ronchik Гость

    Для: _Roman_
    не надо ничо передавать ищи его там-же.....


    сорри не дочитал твой пост до конца

    <!--QuoteBegin-_Roman_+18:07:2007, 12:45 -->
    <span class="vbquote">(_Roman_ @ 18:07:2007, 12:45 )</span><!--QuoteEBegin-->Не получается кнопку с кодом в письмо вставить...
    [snapback]72582" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    а это еще спорный вопрос :)
     
  10. _Roman_

    _Roman_ Гость

    Для Medevic
    <!--QuoteBegin-Medevic+18:07:2007, 13:14 -->
    <span class="vbquote">(Medevic @ 18:07:2007, 13:14 )</span><!--QuoteEBegin-->Создаешь кнопку с формулой @Command([GoUpLevel]).
    [snapback]72587" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Ух ты! Работает. Практически то что надо. Спасибо. Только странный Лотус все-таки. В языке формул есть такая команда а в Лотус Скрипт аналога нет :)

    Для Morpheus
    <!--QuoteBegin-Morpheus+-->
    <span class="vbquote">(Morpheus)</span><!--QuoteEBegin-->через notes.ini[/quote]
    Наверное можно и так. А в Лотусе нет глобальных переменных (очень глобальных), чтоб через них передавать?

    Для Ronchik
    <!--QuoteBegin-Ronchik+-->
    <span class="vbquote">(Ronchik)</span><!--QuoteEBegin-->не надо ничо передавать ищи его там-же.....[/quote]
    Не понял. Я ж в Postopen'е не вижу переменную Doc.
    Насчет кнопки в письме я тут на форуме видел вроде похожий пост, но как-то там очень сложно :)

    В целом большое всем Спасибо. Пока воспользуюсь советом Medevic как самым простым.
    А вообще Лотус странная штука. Сложно приноровиться к нему как-то ...
     

Поделиться этой страницей