не удаляеться иконка вложения

  • Автор темы Vvv
  • Дата начала
V
#1
Я удаляю аттачи через функцию NSFNoteDetachFile при этом сам файл удаляеться из письма но его иконка остаеться.

Подскажите пожалуйста как можно удалить иконку вложения ? подходит любой способ
 
K

Klido

#2
погляди какое поле показано в области иконки вложения - его дополнительно и удаля....
 
V
#3
>погляди какое поле показано в области иконки вложения - его дополнительно и удаля....
к сожалению иконка находиться в body который удалить я не могу
 
V
#7
в принципе мне все равно каким способом удалять аттачь но я знаю только способо через NSFNoteDetachFile
 

Omh

Lotus team
04.07.2007
2 210
1
#8
Vvv, батенька, Вы жжёте!

Давай лучше через NotesEmbeddedObject?
Omh какбэ гарантирует, что будет проще :(

В чём задача состоит?
Ща решим!
 
V
#9
сейчас посмотрел help нашел варианты для удаления
NSFItemDeleteByBLOCKID
удалить item $FILE в котором аттачь с заданным именем но помоему оба варианта не как не влияют на удаление иконки

Давай лучше через NotesEmbeddedObject?
я пишу addin для domino на С++ в help по domino c api я не вижу функций эквивалентным NotesEmbeddedObject в LotusScript

конечная цель - из программы на C++ удалить вложение в note так что бы иконка аттача удалилась тоже
 
V
#11
иконка в документе
можно считать это обычное письмо с приатачиным файлом
 

TIA

:-)
Lotus team
15.05.2009
790
3
#12
Надо явно парсить RTF-поле и удалять из него CD начинающееся с CDHOTSPOTBEGIN и типом HOTSPOTREC_TYPE_FILE. Если надо удалить один из аттачей, которые располагаются в одном RTF, то находить его по внутреннему имени файла (ну тот, который уникальный если вложено два файла с одинаковым именем).
 
V
#13
Надо явно парсить RTF-поле и удалять из него CD начинающееся с CDHOTSPOTBEGIN и типом HOTSPOTREC_TYPE_FILE. Если надо удалить один из аттачей, которые располагаются в одном RTF, то находить его по внутреннему имени файла (ну тот, который уникальный если вложено два файла с одинаковым именем).

спасибо за ваш ответ
я пытался уже так сделать не получилось потому что
0) мне надо сделать общий случай удаление любого атача
1) имя файла я узнаю только после того как начну парсить HOTSPOTREC_TYPE_FILE элемент, вернуться назад к CDHOTSPOTBEGIN я не смог
2) я не смог придумать как запомнить ссылку на CDHOTSPOTBEGIN (как индифицировать cd элемент) тогда бы я сделал за два прохода
нашел нужный для удаления элемент (по HOTSPOTREC_TYPE_FILE) сохранив ссылку на него
вторым проходом удалил бы его

как то так
 
V
#15
спасибо за ссылку посмотрю еще раз как он удаляет атачии

вообще автору этого проекта я показал несколько ошибок и как их исправить
его Extension manager досих пор имеет проблеммы (вешает сервер на работе Indexer) хотя я ему писал как исправить
 

TIA

:-)
Lotus team
15.05.2009
790
3
#16
я пытался уже так сделать не получилось потому что
Хм.
1) А как Вы реализовываете удаление их RTF-поля? Думаю, что должно быть что-то вроде копирования содержимого поля в новый буфер в памяти (или в файл), пропуская ненужные CD-записи. А затем замена старого значения RTF-поля новым из буфера, с уже удалёнными CD-записями. Потому почему бы не выполнять копирование памяти от CDHOTSPOTBEGIN до CDHOTSPOTEND только если он содержит ссылку на интересующий в данным момент файл? Т.е. перед копированием надо будет прочитать несколько CD-записей вперёд.
0) Чем не общий случай? По вашим правилам Вы определяете имя файла для удаления или просто удаляете все вложения. Какой более общий случай вас интересует?
 
K

Klido

#17
случилось похожее на днях делать, в 8.5.1 появились кое-какие новые апраметры для формул - мож они правильно зачистят иконки?

EditInsertFileAttachment @Command
Attaches a file to a document.

Syntax
@Command( [EditInsertFileAttachment] )

or

@Command( [EditInsertFileAttachment] ; file ; compress ; append ; deleteexisting ; deletefile )

Parameters
file

Text. Optional. The name of the file you want to attach. Be sure to include the complete path specification (appropriate to the user's operating system).

compress

Text. Optional. Specify "1" (default) if you want to compress the attachment. Specify "0" if you do not.

append

Text. Optional. Specify "1" if you want to append the attachment. Specify "0" (default) if you want to insert it at the current position.

Note This parameter is new with Release 8.5.1.

deleteexisting

Text. Optional. Specify "1" if you want to delete the same existing attachment. Specify "0" (default) if you do not.

Note This parameter is new with Release 8.5.1.

deletefile

Text. Optional. Specify "1" if you want to delete the base file. Specify "0" (default) if you do not.

Note This parameter is new with Release 8.5.1.

Without a file parameter, displays the Create Attachment dialog box. If a file is specified, attaches that file to the document without opening the Create Attachment dialog box.
 
K

Klido

#18
удалить вложение (и иконку) - проблем нет, но вот при вложении в бэкграунде какого-либо файла он в ртф вкладывается с иконкой по-умолчанию, т.е. никакой на вид...
при этом пресловутый показ аттача внизу документа (ранее я задавал вопрос откуда оно вылезает ;), но так ни до чего и не дошли...) показывает всё правильно, что наводит на мысль о возможности вложить в ртф файло программно более красиво (через UI всё ОК, но надо именно в бэкграунде). Вкладываю примерно так

Код:
			  filename = ws.OpenFileDialog(flase, "Укажите новый файл")
Set rtitem = ND.GetFirstItem( "Doc_Attach" )
Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", filename(0))
Call ND.save(True,False)
и получаем вот такой вид документа с вложением
att4.jpg
 

Вложения

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 583
269
#19
забейте на РТФ классы - ибо глюкало
к томуже, иконки - нотуса берут из "реганых" приложений на вянде (без интерактивного действа - иконка вложения не будет цепляться, такуж написали)
выход след. - делать через DXL, иконок (для приложений) "надергать" из самих приложений, перекодить в гиф и сложить в базу. Подставлять, согласуясь с собственным худ. вкусом :)
 
K

Klido

#20
красивая иконка - это даже не пол-, а 1/32-я беды :) не критично пока и можно рассказать, что пока будет так, а вот показ вложений внизу документа 2-й раз (причем всех вложений, там в документе не одно РТФ) - раздражает народ (ну и меня :crash:). Времени нет, к сожалению, экспериментировать с достаточно сложной формой (там штук 5 подформ только с вложенными же подформами), но странная псевдосекция внизу напрягает :)