Форум продуктов IBM Lotus
Общие вопросы => Разработка приложений => Тема начата: cybergeene от 09 Ноябрь 2010, 12:33:33
-
Собственно, вопрос в теме.
-
NotesDocument - это документ в памяти, а метод uidoc.refresh нужен для обновления, фактически, отображения документа. Как можно визуально обновить документ в памяти?
Если нужно обновить какие-то значения полей в документе, проще, наверное, их заново присвоить.
Иногда может помочь метод ComputeWithForm
-
Вот с чем столнулся - добавил в документ поле Rich Text, в default value поставил "", в результате при открытии документа поле определяется с типом Text, т.е. Set rtitem = doc.GetFirstItem("Body1") приводит к ошибке несоответсвия типов, пока не нажмешь F9 в документе, переведя его на редактирование.
Так что вопрос немного другой - как правильно инициализировать поле Rich Text
-
Set rtitem = New NotesRichTextItem( doc, "Body1" )
Set rtitem = doc.CreateRichTextItem( "Body1" )
-
Если надо не создать, а обратиться к полю 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...