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

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

    Скидки до 10%

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

Скопировать NotesRichTextItem с галочкой Store contents as HTML and Mime

Gandliar

Lotus Team
16.02.2004
556
26
BIT
40
Здравствуйте!

В первом документе поле было сохранено в UI с галочкой Store contents as HTML and Mime

Как скопировать это поле в другой документ на скрипте, чтобы в другом документе осталась такая же галочка?

Заранее благодарю.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
Здравствуйте!

В первом документе поле было сохранено в UI с галочкой Store contents as HTML and Mime

Как скопировать это поле в другой документ на скрипте, чтобы в другом документе осталась такая же галочка?

Заранее благодарю.
что не получается?
 

Gandliar

Lotus Team
16.02.2004
556
26
BIT
40
При обычном копировании

Dim item As NotesRichTextItem
Set item = doc.Getfirstitem(fieldName)
If docNew.hasItem(fieldName) Then Call docNew.removeItem(fieldName)
Call item.Copyitemtodocument(docNew, fieldName)

Документ превращается в "как без галочки" и частично слетает форматирование.

В самом документе в основном инлайн-картинки. В исходном доке в просмотре полей они видны как $file а после копирования файлы в полях не видны.

Если потом поправить форматирование и пересохранить через ui то получается как надо.

Но надо на скрипте добиться такого же.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
При обычном копировании

Dim item As NotesRichTextItem
Set item = doc.Getfirstitem(fieldName)
If docNew.hasItem(fieldName) Then Call docNew.removeItem(fieldName)
Call item.Copyitemtodocument(docNew, fieldName)

Документ превращается в "как без галочки" и частично слетает форматирование.

В самом документе в основном инлайн-картинки. В исходном доке в просмотре полей они видны как $file а после копирования файлы в полях не видны.

Если потом поправить форматирование и пересохранить через ui то получается как надо.

Но надо на скрипте добиться такого же.
почему не копировать все айтемы? ;) а затем поменять нужные "на взад" и там еще с опицей сессии не забыть (про конвертацию РТ)
 
  • Нравится
Реакции: Gandliar

Gandliar

Lotus Team
16.02.2004
556
26
BIT
40
все как раз копировать не надо
надо скопировать часть и поменять названия.
вопрос остается как скопировать rtItem чтобы осталось предыдущее сохранение
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
все как раз копировать не надо
надо скопировать часть и поменять названия.
вопрос остается как скопировать rtItem чтобы осталось предыдущее сохранение
эт почему не надо? ;)
как правило больше-всего инфы в РТ, и зачем боятся скопировать в инмемори док и "возвратить" нужные поля?
Оверхед на возню с маймами будет больше, тамже выползет и "блокировка" существующего поля (РТ) и прочая фигня...
 

Gandliar

Lotus Team
16.02.2004
556
26
BIT
40
То есть скопировать все в инмемори док все, затем удалить "ненужные поля" в инмемори доке, а затем скопировать еще раз из инмемори дока.
Наверное так все получится.
можно ли как то поменять имя рт поля в новом доке?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
можно ли как то поменять имя рт поля в новом доке?
формально оно не РТ, а майм и изменение имени врядли пройдет безболезненно
а зачем это надо?
тупо пересоздать поле майм можно если известен текст, кот. туда вставлять, но тогда все что изложено выше теряет смысл ;)
 

oshmianski

Достойный программист
Lotus Team
25.04.2012
711
59
BIT
2
а если попробовать RenderToRTItem?
 

Gandliar

Lotus Team
16.02.2004
556
26
BIT
40
Всем спасибо!

написал функцию, в которой создается темповый док, отключается convertMime, copyallitems, вычищаются ненужные поля (оставляю правильный item и $file) и еще раз copyallitems в нужный док, включаю convertMime
 
  • Нравится
Реакции: Мыш
Мы в соцсетях:

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