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

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

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

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

Добавление нового Attachment командой Openfiledialog.

  • Автор темы Guest
  • Дата начала
G

Guest

При добавлении нового attachment командой OpenFileDialog, чё за хрень существующий attachment уходит в подвал.
Код:
Forall file In files
Call rtitem.EmbedObject(EMBED_ATTACHMENT, "", file)

' "прописываем" изменения в RichTextItem
Call rtitem.Update 		

' тут указывается форма документа, если он был новый и форма не установлена еще, либо на всякий случай :)
Call uidoc.Document.ReplaceItemValue("Form", "Contract")

' это позволяет избавиться от вопроса о сохранении закрываемого документа!
' причем это прописывается в "старый" экземпляр документа в памяти-instance,
' т.е. в открытом предыдущей командой документе это не появится и убирать не нужно оттуда ничего
Call uidoc.Document.ReplaceItemValue("SaveOptions", "0")

' закрываем "старый" документ
Call uidoc.Close(True)
End Forall
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
апдейт нужен с True
и ваще РТ - это много глюков
TIA рассказывал и про детали встраивания аттача, без сохранения дока на диск
 
G

Guest

А это как - апдейт нужен с True !?!
Call rtitem.Update(True) - не проходит.
А по TIA я поищу.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
Call notesUIDocument.Refresh( [ IncludeRichTextItems ] )
я это имел в виду
коряво выразился

но в общем - док нужно сохранить (после добавления аттача) и переоткрыть в ws
 
G

Guest

Народ pls. help не выходит сохранить предыдущий attache. Какие-то непонятные файлы ATT создает.

Код:
	Forall file In files
Call rtitem.EmbedObject(EMBED_ATTACHMENT, "", file)

' "прописываем" изменения в RichTextItem
Call rtitem.Update 		

' тут указывается форма документа, если он был новый и форма не установлена еще, либо на всякий случай :)
Call uidoc.Document.ReplaceItemValue("Form", "Contract")

' это позволяет избавиться от вопроса о сохранении закрываемого документа!
' причем это прописывается в "старый" экземпляр документа в памяти-instance,
' т.е. в открытом предыдущей командой документе это не появится и убирать не нужно оттуда ничего
'Call uidoc.Document.ReplaceItemValue("SaveOptions", "0")

' закрываем "старый" документ
Call uidoc.Close(True)
End Forall

' теперь открываем документ в новом окне
Call ws.EditDocument(True, uidoc.Document)

'сохраним документ
Call ws.CurrentDocument.Save

'обновим документ
Call ws.CurrentDocument.Refresh(True)
 
A

amigolinx

Походу Денис оттуда и брал код :(
Мне вот не совсем понятна логика - что за уидок все время в цикле закрывается ( Call uidoc.Close(True) )? И опять же зачем при каждом проходе цикла менять форму на доке ( Call uidoc.Document.ReplaceItemValue("Form", "Contract") )? Может стоит вынести эти штуки после завершения ForAll. Если это проблему и не решит, то все же как-то спокойнее будет :(

... или наоборот, все операции с доком включить поголовно в цикл...
 
K

Klido

вообще - зачем цикл?
в чем задача - заменить аттач? добавить ещё один?
 
O

Omh

Да, там с циклом явно какой-то перебор.
Это всё:
Код:
Call rtitem.Update		 
Call uidoc.Document.ReplaceItemValue("Form", "Contract")
Call uidoc.Document.ReplaceItemValue("SaveOptions", "0")
Call uidoc.Close(True)
вынести ара из цикла
И вообще, обращатся всё время к документу через uidoc - не модно, лучше завести переменную.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
эффект вызывается рассинхронизацией ФЭ и БЭ
 
H

hosm

amigolinx та просто, ребята, ну он же не думает, что пишет :(
я видела, что оттуда, первый пример. Там есть еще и второй, например. Там плохо написано?
Что туда добавить, чтоб было понятно - краткую инструкцию по SaveOptions? или описание различий уи и бекэнда?
или фразу о том, что списывать надо с умом и иногда смотреть в описание используемых команд?
 
Мы в соцсетях:

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