• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Помогите с Notesrichtextitem

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

nik3528

Уважаемые помогите разобраться в чем проблема:
Вопрос вот в чем, на форме есть поле 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

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

nvyush

nik3528
По-моему, после Wend не хватает UIdoc.document.save true, true
 
N

Nalula

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

nik3528

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

hosm

переоткрывайте...
ну, или можно с натяжкой заменить на вычисляемый pass-thru html, где есть html-ссылка на документ через аналог notesUrl в обычном текстовом поле, если размер не перевалит за 32К :D
 
O

Omh

Обалдеть! На форуме новая женщина: Nalula!

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

nik3528

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

Omh

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!