Дождаться полного открытия документа

Тема в разделе "Lotus - Программирование", создана пользователем yerke, 7 дек 2009.

  1. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    привет всем знатокам лотуса

    можно ли на лс определить при открытий
    открылся уй док полностью или все еще загружается
     
  2. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    yerke
    а для чего это нужно то?
     
  3. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    если помните была тема про "Note item not found"
    http://codeby.net/forum/threads/32841.html

    так вот этот баг оказывается
    исчезает при пересохранении документа в уи

    и хотел автоматизировать это дело след. кодом
    Код (Text):
    Set rdcol = cdoc.Responses
    Set rdoc = rdcol.GetFirstDocument
    Do While Not(rdoc Is Nothing)
    '=
    Set ruidoc = ws.EditDocument(True, rdoc) '===док где возникают "Note item not found"
    If Not ruidoc.EditMode Then ruidoc.EditMode = True
    Call ruidoc.Save()
    Call ruidoc.Close(False)
    Set ruidoc = Nothing   
    '=
    Set rdoc = rdcol.GetNextDocument(rdoc)
    Loop
    но при таком подходе
    исчезли данные в рт полях
    (думаю доки не успевают полностью открыться//загрузится в уи)


    а если открыть док самаму и сохранить в иу
    то все встанет ок:
    данные в рт полях начинают отображаться корректно и
    "Note item not found" перестает о себе напоминать
     
  4. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    а вот если перед
    Call ruidoc.Save()
    вставить Call ruidoc.refresh( true )?
     
  5. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    нет не помагает

    может установить какой то делей перед Call ruidoc.Save() на 2-3 секунды
    а как это сделать?
     
  6. Klido

    Klido Гость

    ну чтоб проверить - дедовским способом - пустой цикл до 1КК, например...
     
  7. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Klido
    А зачем цикл - что, Sleep уже отменили?
     
  8. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    интересно, сработает ли здесь подмена обработчика собития формы...
     
  9. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    смотря какого события. postopen - вряд ли. а подмена postrecalc - сработает 100 пудов.
    Код (Text):
    Set ruidoc = ws.EditDocument(True, rdoc) '===док где возникают "Note item not found"
    On Event Postrecalc From ruidoc Call PostrecalcHadler
    ...
    Call ruidoc.refresh( true ) ' здесь рэйзится PostrecalcHadler
    ...

    Private Sub PostrecalcHadler( Source As Notesuidocument )
    ' здесь можно сделать что-нибудь противоестесственное...
    End Sub
    p.s. если настоящий пострекалк формы пустой - поставить туда коммент.
     
  10. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    причина была не в Call ruidoc.Save() и в Call ruidoc.refresh( true )
    ______________________________

    а в Set ruidoc = ws.EditDocument(True, rdoc)

    в открытом доке, с помощью данной конструкции, уже не содержались рич тексты
    почему не понятно:::

    а если открыть как обычно (не программно) то все ок
     
  11. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    А не стоит ли у вас в св-вах БД "Display images after loading"? Если стоит, то снимите её. Эту галку можно ставить только если с РТ-полем нет программных операций.
     
  12. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    такая галка не стоит
     
Загрузка...

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