1

Тема: Поле NotesRichTextItem и погашение SaveOptions

Есть в документе на форме функция в Globals - в ней я по таймеру аттачу в поле NotesRichTextItem  вложение.
Потом хочу переоткрыть док, чтобы увидеть вложение.

Не работает.

Doc.SaveOptions = "0"
Call Doc.save (False, True)
Call uidoc.Close
Call workspace.EditDocument(False, Doc)
Print doc.header(0) '  чтобы увидеть где ошибка, если будет
Doc.SaveOptions = "1"        
Call doc.save (False, True)

делаю, как в хелпе. Не работает.

Call rtitem.EmbedObject ( EMBED_ATTACHMENT, "", pathOUT & FName)
rtitem.Update
......
    Doc.SaveOptions = "0"
        Call uidoc.Close(True)
        Set uidocNew = workspace.EditDocument(True, Doc, , , , True)
        Delete uidoc
        uidocNew.Document.RemoveItem("SaveOptions")

Поделиться

2

Re: Поле NotesRichTextItem и погашение SaveOptions

Решение оказалось очень простым. Но при этом документ нельзя закрывать крестиком, только "сохранить и закрыть", иначе пропадет содержимое ричтекст поля.

doc.ReplaceItemValue({SaveOptions},{0}).SaveToDisk=False
        
Call doc.save (False, True)
Call uidoc.Close
Call workspace.EditDocument(False, doc)

Поделиться

3

Re: Поле NotesRichTextItem и погашение SaveOptions

Еще есть вариант с секциями с контролируемым доступом, В секцию ставим NotesRichTextItem поле. В эдиторах ставим несуществующего юзера.

Post's attachments

Section_dostup.png, 8.83 kb, 448 x 194
Section_dostup.png 8.83 kb, 45 downloads since 2016-08-05 

Поделиться

4

Re: Поле NotesRichTextItem и погашение SaveOptions

Вот еще пробовал обновлять функцией RefreshRT. Неудачно.

Function RefreshRT(nuid As NotesUIDocument) As NotesUIDocument
    '  УДАЛИТЬ, не использульется.
    On Error Goto ErrH
    Msgbox "RefreshRT"    
    Dim nuiws As New NotesUIWorkSpace
    If nuid.Document.GetItemValue(IN_SAVEOPTIONS)(0) = "1" Then
        Msgbox "SAVEOPTIONS=1"        
        Call nuid.Document.ReplaceItemValue(IN_SAVEOPTIONS, "0")
        Msgbox nuid.Document.SaveOptions(0)
    End If
    Call nuid.Close()
    Set RefreshRT = nuiws.EditDocument(nuid.Document)
    
    If (Not RefreshRT Is Nothing)  Then
        RefreshRT.Document.ReplaceItemValue(IN_SAVEOPTIONS, "1").SaveToDisk = False
        Msgbox nuid.Document.SaveOptions(0)
    End If
    Exit Function
ErrH:
    Print "Ошибка RefreshRT " & Error(Err) & " в строке " & Erl
End Function

Поделиться

5

Re: Поле NotesRichTextItem и погашение SaveOptions

 doc.SaveOptions = "0"
   Call uidoc.Close
   Set uidoc = workspace.CurrentDocument
   Set doc = uidoc.Document 
   doc.SaveOptions= "1"  

У меня выпадают вложения из поля вниз формы, а в другом докобороте - при закрытии есть окошко сохранения документа, нажав "Да" - сохраняется всё как надо.

Поделиться