1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "Lotus - Программирование", создана пользователем soleil, 5 мар 2010.

Статус темы:
Закрыта.
  1. soleil

    soleil Гость

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

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    9
    что-то типа SelectDocument должно быть, посмотрите в хелпе
     
  3. xKlonx

    xKlonx Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    10 сен 2009
    Сообщения:
    410
    Симпатии:
    0
    Вот вам пример из хелпа:
    Код:
    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
     
  4. Darker

    Darker Гость

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

    soleil Гость

    Репутация:
    0
    Спасибо. Все получилось с помощью SelectDocument.
     
  6. soleil

    soleil Гость

    Репутация:
    0
    Как сделать чтобы после создания документа по форме, после закрытия формы этот новый документ выделялся в представлении?
     
  7. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    9
    наверно, стоит сперва прорефрешить вьюху - через ws.ViewRefresh или NotesView.Refresh, а потом выделять документ.
     
  8. soleil

    soleil Гость

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

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    9
    наверно, я туплю - но как Вы собираетесь выделить документ не в уи-виде? %)
    если вид не открыт, откройте его.
    Что, текущий вид встроен в форму, что его из формы пытаетесь получить?
    Код по выделению документа действительно иногда глючит, обычно заключается в обработчик.
    Код:
    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
     
  10. soleil

    soleil Гость

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

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.379
    Симпатии:
    336
    если док создавался при открытой вьюшке, доступен view.Title (опред. время ^_^ )
    по нему тоже можно получить инстанс вьюшки (при старте формы, например)
    код выше выделяет док
    если вьюшка по каким-либо причинам не обновилась (и док не отобразился) - будет облом, но тогда надо "заставить" вьюшку обновиться, до селекта
    код можно поместить в разные эвенты формы (QueryClose, например, помня об отмене создания дока)
     
  12. soleil

    soleil Гость

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

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.379
    Симпатии:
    336
    экземпляр объекта
    и в посте выше - д.б. @ViewTitle (в CFD поле, КомпьютедФорДисплей)
    типа Set view=db.GetView(VIEWTILTLE_FIELD)
     
Загрузка...
Статус темы:
Закрыта.

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