Помогите с Notesrichtextitem

  • Автор темы nik3528
  • Дата начала
N

nik3528

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

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

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

Вот код Action

Код:
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
 
A

amigolinx

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

Nalula

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

nik3528

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

hosm

* so what *
18.05.2009
2 442
6
#7
переоткрывайте...
ну, или можно с натяжкой заменить на вычисляемый pass-thru html, где есть html-ссылка на документ через аналог notesUrl в обычном текстовом поле, если размер не перевалит за 32К :D
 

Omh

Lotus team
04.07.2007
2 210
1
#8
Обалдеть! На форуме новая женщина: Nalula!

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

nik3528

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

Omh

Lotus team
04.07.2007
2 210
1
#10
Надо бекграунд док сохранять, ты же туда добавляешь.
Что-то типа
Код:
Call Doc.Save(True, False)
Call Doc.ReplaceItemValue("SaveOptions", "0")
Call uidoc.Close
'Тут Перевыбираешь документ из базы, например, из view
Call ws.EditDocument(True, Doc)
И код давали парой постов выше