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

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

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

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

в откритом документе удалить содержимое поля.

Cleric-Lviv

Well-known member
03.01.2008
603
0
BIT
0
Всем привет!

есть дока. открили режим редактирования = false. нуно по нажатию на кнопку видать диалог, потом сделать копию етого дока, назначить ее response и удалить содержимоє поля "DocConteiner" в котором содержится атачмент

пишу код и удаляю поле потом снова ево делаю но поле как било с атачментом так и осталось:mellow:

Код:
Set ses = New NotesSession
Set ws = New NotesUIWorkspace
Set uidoc = ws.CurrentDocument
uidoc.EditMode = True
Set Doc = uidoc.Document
Set CopyDoc = ses.CurrentDatabase.CreateDocument

ps = |Бажаєте приєднати новий атачмент до документу "%1"?|
ps = ReplaceSubstring(ps,"%1",Doc.DocName(0))
promptResult = Messagebox(ps, 3 + 32, "Зміна атачменту")
If promptResult = 6 Then

dv = Cint(Doc.GetItemValue("DocVer")(0))
dn = Cstr(Doc.GetItemValue("DocNo")(0))
Call Doc.CopyAllItems(CopyDoc, True) 
Call CopyDoc.MakeResponse(Doc) 
Call CopyDoc.Save(False, True)
Call Doc.RemoveItem("DocContainer")
Set ItemDoc = New NotesRichTextItem(Doc,"DocContainer")
 
T

turumbay

Мож. Azat прав: где вызов doc.Save? Полную версию кнопки можно увидеть?
 
D

divankin

Вы делаете uidoc.Save?
Это не правильно. Изменения сделанные в richtext полях в бек-энде не переносятся во фронт-энд до переоткрытия документа, поэтому uidoc.Save сохраняет все изменения сделанные в обычных полях. А все изменения в richtext полях пропадают.
 

Cleric-Lviv

Well-known member
03.01.2008
603
0
BIT
0
Divankin
Да именно uidoc.save, хм а как тогда делать?ну очень нуна:)
 

Cleric-Lviv

Well-known member
03.01.2008
603
0
BIT
0
и так
Код:
dv = Cint(Doc.GetItemValue("DocVer")(0))
dn = Cstr(Doc.GetItemValue("DocNo")(0))
Call Doc.CopyAllItems(CopyDoc, True) 
Call CopyDoc.MakeResponse(Doc) 
Call CopyDoc.Save(False, True)

Call Doc.RemoveItem("DocContainer")
Call Doc.ReplaceItemValue("DocStatus", "")
Call Doc.ReplaceItemValue("DocVer", dv+1)
Call Doc.ReplaceItemValue("DocID", dn)
Call Doc.Save(True, True)
Call ws.EditDocument(True)
Set ItemDoc = New NotesRichTextItem( Doc, "DocContainer" ) --- когда создаю новий итем то в нем можно увидеть "образ" атачмента но когда попитатся ево открить то получаем "item not found".....но вот как сделать чтоб и "образа" не видели юзера
'Set object = ItemDoc.EmbeddedObjects(EMBED_ATTACHMENT, " ", "c:\" ) -- если розкоментировать т о ошибка....:(
 
A

abbatik

Call ws.EditDocument(True, Doc)

не надо Item создавать..
 
A

azat20

Call ws.EditDocument(True) - что такое?
может надо писать Call ws.EditDocument(True, doc)

да и здесь явно ошибка
Set object = ItemDoc.EmbeddedObjects(EMBED_ATTACHMENT, " ", "c:\" )
c:\ - это на что ссылается?

To get: notesEmbeddedObjectArray = notesRichTextItem.EmbeddedObjects

да и используйте class notesrichtextitem
 

Cleric-Lviv

Well-known member
03.01.2008
603
0
BIT
0
abbatik
но я же удаляю Call Doc.RemoveItem("DocContainer").....
мне потом нужно ето поле
если поле не создать то прицепляет в итем $File, но впринципе если поле и существует то атач тоже туда идет:(
Azat
Уже разобрался с етим добавив
fn= ws.OpenFileDialog(False, "Діалог вибору файлу ", "", "c:\")
в итоге работает:)
Set object = ItemDoc.EmbedObject(EMBED_ATTACHMENT, "", fn(0))
 
Мы в соцсетях:

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