Общие вопросы > Разработка приложений
Есть ли аналог uidoc.Refresh для NotesDocument
(1/1)
cybergeene:
Собственно, вопрос в теме.
lotusnotes.ru:
NotesDocument - это документ в памяти, а метод uidoc.refresh нужен для обновления, фактически, отображения документа. Как можно визуально обновить документ в памяти?
Если нужно обновить какие-то значения полей в документе, проще, наверное, их заново присвоить.
Иногда может помочь метод ComputeWithForm
cybergeene:
Вот с чем столнулся - добавил в документ поле Rich Text, в default value поставил "", в результате при открытии документа поле определяется с типом Text, т.е. Set rtitem = doc.GetFirstItem("Body1") приводит к ошибке несоответсвия типов, пока не нажмешь F9 в документе, переведя его на редактирование.
Так что вопрос немного другой - как правильно инициализировать поле Rich Text
lotusnotes.ru:
Set rtitem = New NotesRichTextItem( doc, "Body1" )
Set rtitem = doc.CreateRichTextItem( "Body1" )
lotusnotes.ru:
Если надо не создать, а обратиться к полю Rich Text, то можно пойти 2 путями:
1.
Dim doc As NotesDocument
Dim item As NotesItem
Set item = doc.GetFirstItem( "Body1" )
If item.Type=1 Then
'поле типа Rich Text
End if
2.
Dim doc As NotesDocument
Dim item As NotesItem
Set item = doc.GetFirstItem( "Body1" )
If Not item.IsSummary Then
'поле типа Rich Text, но не только (может быть большое, аттачмент и т.д.), но здесь скорее всего подойдет
End if
А можно убрать кавычки из Default value...
Навигация
Перейти к полной версии