• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

неизменный Rich Text Item

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

nadezdaMP

обсуждений по этой теме много, но все они по конкретным задачам разные,
поэтому помогите пожалуйста с решением следующей:

есть документ, в нем содержится поле Body , в котором может быть пусто, либо текст, либо атачменты, либо и то и другое, и тд.
необходимо скопировать это поле в другой документ, с добавлением в это поле уже нового документа, ссылки на документ, из которого оно было скопировано.
у меня на все вылетают ошибки, ну никак, либо ссылка, либо содержимое поля Body получается.

ссылку я добавляю так
Set rtitem = New NotesRichTextItem (taskdoc, "Body")
Call rtitem.AppendDocLink( tempdoc, "Ссылка ...")
Call rtitem.AppendText("Ссылка ...")
Call rtitem.AddNewLine(1)
...
потом соответственно пытаюсь сделать
Dim rtitemA As NotesRichTextItem, rtitemB As NotesRichTextItem
Set rtitemA = New NotesRichTextItem (taskdoc, "Body")
Set rtitemB = New NotesRichTextItem (taskdoc, "Body1")
Call rtitemA.AppendDocLink( tempdoc, "Ссылка ")
Call rtitemA.AppendText("Ссылка ")
Call rtitemA.AddNewLine(1)

Call taskdoc.ReplaceItemValue("Body1", contentdoc.GetItemValue("Body")(0))
Call rtitemA.AppendRTItem(rtitemB)
Call rtitemB.Remove
Call taskdoc.Save(True, True)

вылетает ошибка что item Body1 is not a rich text item
хотя смотрела в EZTools ontentdoc.GetItemValue("Body")(0) - тип рич текст

вообщем, запуталась, обьясните как можно сделать пожалуйста =)


вообщем, в документе из которого нужно скопировать, ипользуется computed subform, в нем соответсвенно поле Body содержится, может в этом причина?
 
N

nvyush

Вместо
Call taskdoc.ReplaceItemValue("Body1", contentdoc.GetItemValue("Body")(0))


Попробовать
If taskdoc.HasItem("Body1") Then Call taskdoc.RemoveItem("Body1")
Call taskdoc.CopyItem(contentdoc.GetFirstItem("Body"), "Body1")
?
 
N

nadezdaMP

Вместо
Call taskdoc.ReplaceItemValue("Body1", contentdoc.GetItemValue("Body")(0))


Попробовать
If taskdoc.HasItem("Body1") Then Call taskdoc.RemoveItem("Body1")
Call taskdoc.CopyItem(contentdoc.GetFirstItem("Body"), "Body1")
?
сделала именно так, все работает, спасибо!

строку с ошибкой не помню уже, вроде на методе AppendRTItem вываливалась.
 
Мы в соцсетях:

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