1. На форме проверьте наличие этого поля.Вот только сейчас заметил, что вложение - всё ок - сохраняется в поле, а у документа SaveOptions остался 0.
2. Ранее было это поле в доке?
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
1. На форме проверьте наличие этого поля.Вот только сейчас заметил, что вложение - всё ок - сохраняется в поле, а у документа SaveOptions остался 0.
Проблема в том, что Вы не понимаете сути того, что происходит.Код:doc.ReplaceItemValue({SaveOptions},{0}).SaveToDisk=False Call doc.save (False, True) Call uidoc.Close Call workspace.EditDocument(False, doc)
Set uidoc = workspace.EditDocument(False, doc)
Set doc = uidoc.Document
Call doc.removeItem("SaveOptions")
Call doc.save (False, True)
Да в моем докобороте это не важно, т.к. на постопен Source.EditMode = TrueПочему в EditDocument передаётся False?
Const IN_SAVEOPTIONS = "SaveOptions"
Function RefreshRT(EditMode As Boolean, nuid As NotesUIDocument) As NotesUIDocument
'Если док создавался с помощью Compose, то НА ФОРМЕ ПЕРЕОТКРЫВАЕМОГО ДОКУМЕНТА Д.Б. ПОЛЕ Form!!!
'методом Compose или соотв. формулой создаю только простые документы, типа справочников, чего и всем желаю
Dim nuiws As New NotesUIWorkSpace
If nuid.ModifiedSinceSaved Or nuid.Document.GetItemValue(IN_SAVEOPTIONS)(0) = "1" Then
Call nuid.Document.ReplaceItemValue(IN_SAVEOPTIONS, "0")
End If
Call nuid.Close()
Set RefreshRT = nuiws.EditDocument(EditMode, nuid.Document)
If (Not RefreshRT Is Nothing) And EditMode Then
RefreshRT.Document.ReplaceItemValue(IN_SAVEOPTIONS, "1").SaveToDisk = False
End If
End Function
Она вместо всего того кода, который Вы писали в этой теме для переоткрытия документа.не очень понятно, когда вызывать эту функцию RefreshRT?
Да, потом возвращает. Это сделано потому, что на QuerySave, OnSubmit могут быть вызовы Refresh(True), таким образом уходим от случайного (неконтролируемого) сохранения документа на диск.Если SAVEOPTIONS = 1, то делает SAVEOPTIONS=0 и закрывает док?
Это свойство объекта NotesUIDocument, означающее, что документ изменялся в UI.If nuid.ModifiedSinceSaved - это поле такое на форме?
Call nuid.Document.ReplaceItemValue(IN_SAVEOPTIONS, "0")
я не понял.аттач выкидывает с его поля.
Видимо аттач отображается внизу документа под черной полосой, а не в нужном поле.Что такое
я не понял.
Я не понял, как может атач выкинуть с поля окошко сохранения дока...всё равно есть окошко сохранения дока, аттач выкидывает с его поля.
ничего не понялДабы не создавать новую тему напишу здесь.
Имеется поле Rich Text . Тип - Editable. в нем файл.
Задача - При нажатии на кнопку проверить если в этом поле есть файл, то стереть его и заменить на новый файл, Но:
Как удалить аттачмент без переоткрытия документа? или переоткрывать документ но SaveOptions не удалять - потому как необходимо сохранить диалоговое окно - сохранить документ/нет/отмена.
Храните аттачмены в респонзах, отображайте в документе через embedded view, над view разместите две кнопки "Добавить" и "Удалить". Можно будет что угодно делать с аттачментами не перезагружая и не изменяя основной документ.Дабы не создавать новую тему напишу здесь.
Имеется поле Rich Text . Тип - Editable. в нем файл.
Задача - При нажатии на кнопку проверить если в этом поле есть файл, то стереть его и заменить на новый файл, Но:
Как удалить аттачмент без переоткрытия документа? или переоткрывать документ но SaveOptions не удалять - потому как необходимо сохранить диалоговое окно - сохранить документ/нет/отмена.
Call rtitem.EmbedObject ( EMBED_ATTACHMENT, "", FileName)
'Приатачился файл, но чтобы мне увидеть его , нужно вызвать
Call uidoc.Close
Call workspace.EditDocument(True, doc)
'а чтобы не было диалога сохранить да/нет/отмена
doc.ReplaceItemValue({SaveOptions},{0}).SaveToDisk=False
If rtitem.Type = RICHTEXT Then
Forall o In rtitem.EmbeddedObjects
If o.Type = EMBED_ATTACHMENT Then
Call o.Remove
End If
End Forall
Call rtitem.Update
Не вариант. Переделывать всю логику не представляется возможным.Храните аттачмены в респонзах, отображайте в документе через embedded view, над view разместите две кнопки "Добавить" и "Удалить". Можно будет что угодно делать с аттачментами не перезагружая и не изменяя основной документ.
и он будет, если SaveOptions отстуствует в докеВсе бы хорошо, но мне нужен диалог сохранить да/нет/отмена.
uidoc.Close(True):Delete uidoc
Обучение наступательной кибербезопасности в игровой форме. Начать игру!