Помогите с Notesrichtextitem

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

  1. nik3528

    nik3528 Гость

    Уважаемые помогите разобраться в чем проблема:
    Вопрос вот в чем, на форме есть поле ViewListPredobr - RichText

    по открытию диалога выбираю документы и при нажатии Ok хочу получить следующее

    Документ -> ссылка
    Документ -> ссылка
    .............................
    Документ -> ссылка

    Вот код Action

    Код (Text):
    Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument   
    Dim collection As NotesDocumentCollection
    Dim rtitem As NotesRichTextItem
    Dim doc As NotesDocument

    Set uidoc = workspace.CurrentDocument

    Set collection = workspace.PickListCollection( _
    PICKLIST_CUSTOM, _
    True, _
    session.CurrentDatabase.Server, _
    session.CurrentDatabase.FilePath, _
    "PovtorObr", _
    "Обращения заявителя - "&uidoc.Document.GetItemValue ("JobPlace")(0), _
    "Пожалуйста выберите предыдущие обращения:",_
    uidoc.Document.GetItemValue ("JobPlace")(0))
    If collection.Count = 0 Then
    Messagebox "Действоие отменено пользователем" ,, _
    "Сообщение"
    Else
    Set doc = collection.GetFirstDocument()
    Set rtitem = New NotesRichTextItem( uidoc.Document, "ViewListPredobr" )
    While Not(doc Is Nothing)
    Call rtitem.AddNewline(1)
    Call rtitem.AppendText( "Документ ->")
    Call rtitem.AppendDocLink( doc,"" )
    Set doc = collection.GetNextDocument(doc)
    Wend
    End If
    End Sub
     
  2. amigolinx

    amigolinx Гость

    Если по-простому, то РТитем на лету в УИ не делается. Надо сохранить и переоткрыть документ.
     
  3. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    nik3528
    По-моему, после Wend не хватает UIdoc.document.save true, true
     
  4. Nalula

    Nalula Гость

    А пробовали сохранять и переоткрывать документ? Если не ошибаюсь, то изменения в полях RichTextItem, отображаются только после сохранения и переоткрытия дока.
     
  5. nik3528

    nik3528 Гость

    А чем можно заменит RichText чтобы получить такой результат?
     
  6. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Ничем

    Но можно глянуть сюда:
    Обновление Rtfield
     
  7. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    переоткрывайте...
    ну, или можно с натяжкой заменить на вычисляемый pass-thru html, где есть html-ссылка на документ через аналог notesUrl в обычном текстовом поле, если размер не перевалит за 32К :D
     
  8. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Обалдеть! На форуме новая женщина: Nalula!

    Это оффтопик, а по теме - сохранение + переоткрытие документа решит проблему.
     
  9. nik3528

    nik3528 Гость

    Непонятно то, что даже при добавлении строчки
    Код (Text):
    uidoc.document.save true,true
    и переоткрытия документа поле пустое
    а в debug Source items - поле занчение в VAlue есть - :D
     
  10. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Надо бекграунд док сохранять, ты же туда добавляешь.
    Что-то типа
    Код (Text):
    Call Doc.Save(True, False)
    Call Doc.ReplaceItemValue("SaveOptions", "0")
    Call uidoc.Close
    'Тут Перевыбираешь документ из базы, например, из view
    Call ws.EditDocument(True, Doc)
    И код давали парой постов выше
     
  11. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    http://codeby.net/forum/threads/29669.html
    nvy, извини, не заметила, что ты указал - повторилась ;)
    я все-таки добавила замечание про форму, мы как-то общались)
     
Загрузка...

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