Rendertortitem создает много Item-ов

  • Автор темы MAZ
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M
#1
Проблемма (ну не проблема, а косячок небольшой) в следующем:
Набиваю в документ-тест документы-вопросы через
Код:
Set rtitem = New NotesRichTextItem(testDoc, "body")
Call questionDoc.RenderToRTItem(rtitem)
В Лотусе такой документ-тест выглядит красиво, но при просмотре на Вебе заметил, что оказывается создается не один body, а несколько, (причем их количество не всегда зависит от количества отрендеренных документов-вопросов). На вебе отображается только первый body из первого документа-вопроса.

Пока что решил задачу через редактирование-сохранение полученного документа. При сохранении Лотус склеивает все body.

Может есть более красивое решение или как избежать того, что поля плодятся?
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
18
#2
Set rtitem = New NotesRichTextItem(testDoc, "body")
проблема в этом ;)
не создавайте а берите уже готовый
 
M
#3
я наверное немного непонятно написал..
New конечно же не в цикле вызывается:

Код:
Set rtitem = New NotesRichTextItem(doc, "body")
Set questionDoc = ndc.GetFirstDocument
While Not questionDoc Is Nothing
Call questionDoc.RenderToRTItem(rtitem)
Set questionDoc = ndc.GetNextDocument(questionDoc)
Wend
Call doc.Save(True, False)
пробовал предварительно сохранить документ-тест, чтобы взять уже готовый body - результат такой же: после работы RenderToRtitem появляется несколько item-ов.
Если нельзя избежать их появления, то может есть другой способ их "склеить", кроме как через edit-save-close?
 

nvyush

Lotus team
22.04.2009
2 317
0
#4
А если так:
Код:
Set tempDoc = db.CreateDocument
Set rtitem = New NotesRichTextItem(tempDoc , "body")
Set questionDoc = ndc.GetFirstDocument
Do Until questionDoc Is Nothing
Call questionDoc.RenderToRTItem(rtitem)
Set questionDoc = ndc.GetNextDocument(questionDoc)
Loop

Call rtitem.CopyItemToDocument(doc, "Body") 'вариант 1
'или
Set rtitem2 = New NotesRichTextItem(doc , "body") 'вариант 2
Call rtitem2 .AppendRTItem(rtitem)

Call doc.Save(True, False)
 
M
#6
rtitem.Update не помогает.
CopyItemToDocument не помогает.
А вот вариант №2 (AppendRTItem) работает просто прекрасно.

СПАСИБО!
 
Статус
Закрыто для дальнейших ответов.