Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
извините... но, плять... что у меня не так? О.оС PostOpen тоже работает
аааа! вспомнил!Хотя, теперь и с пустыми работает. Странно всё
Private Sub BindEvents(Byval Objectname_ As String)
Static Source As NOTESUIDOCUMENT
Set Source = Bind(Objectname_)
On Event Postsave From Source Call Postsave
End Sub
(Declarations)
Dim uidoc As NotesUIDocument
Sub Click(Source As Button)
On Error Goto handler
Dim w As NotesUIWorkspace
Dim doc As NotesDocument
Dim subdoc As NotesDocument
Dim subuidoc As NotesUIDocument
Dim docChanged As Boolean
Dim db2 As NotesDatabase
Dim ses As New NotesSession
Set db2= ses.CurrentDatabase
Set w = New NotesUIWorkspace
Set uidoc = w.CurrentDocument
' uidoc.AutoReload = False
Set doc = uidoc.document
Set subdoc = New NotesDocument(db2)
call subdoc.ReplaceItemValue("Form", "(comments)")
set subuidoc = w.EditDocument(True, subdoc)
On Event Postsave From subuidoc Call subuidocPostsave
Exit Sub
handler:
Messagebox "Ошибка :" & Error & " в строке " & Cstr(Erl()),16, "Ошибка"
Exit Sub
End Sub
Sub subuidocPostsave(Source As Notesuidocument)
Dim ws As New NotesUIWorkspace
If Not(uidoc Is Nothing) Then
Call uidoc.Document.ReplaceItemValue("sub_com", Source.Document.GetItemValue("sub_com2"))
If uidoc.EditMode Then
Call uidoc.Refresh() ' ???
Else
Call uidoc.Document.Save(True, False, False)
Call ws.EditDocument(, uidoc.Document)
Call uidoc.Close(True)
End If
Call Source.Close(True)
End If
End Sub
If docChanged Then
If subdoc Is Nothing Then
' ничего
Msgbox "Empty"
Else
Call doc.ReplaceItemValue("sub_com",subdoc.GetItemValue("sub_com2")(0))
Call doc.Save (True, True)
Call w.EditDocument(False, doc)
call uidoc.Close(true)
End If
End If
phantom76
Я ссылку привел на практически такую же задачу. Смотрел? h34r:
Akupaka
У меня работает в 8-ке.
Хотя я давно и в 6-ке пробовал. Наверное тоже работало, иначе не стал бы писать.
phantom76, ты сделай как тебе дядьки советуют - понравится
по кнопке нужно переиначить обработчик открываемого документа на свой. в форме открываемого документа, в PostSave комментируешь одну пустую строку.
Код:(Declarations) Dim uidoc As NotesUIDocument Sub Click(Source As Button) On Error Goto handler Dim w As NotesUIWorkspace Dim doc As NotesDocument Dim subdoc As NotesDocument Dim subuidoc As NotesUIDocument Dim docChanged As Boolean Dim db2 As NotesDatabase Dim ses As New NotesSession Set db2= ses.CurrentDatabase Set w = New NotesUIWorkspace Set uidoc = w.CurrentDocument ' uidoc.AutoReload = False Set doc = uidoc.document Set subdoc = New NotesDocument(db2) call subdoc.ReplaceItemValue("Form", "(comments)") set subuidoc = w.EditDocument(True, subdoc) On Event Postsave From subuidoc Call subuidocPostsave Exit Sub handler: Messagebox "Ошибка :" & Error & " в строке " & Cstr(Erl()),16, "Ошибка" Exit Sub End Sub Sub subuidocPostsave(Source As Notesuidocument) Dim ws As New NotesUIWorkspace If Not(uidoc Is Nothing) Then Call uidoc.Document.ReplaceItemValue("sub_com", Source.Document.GetItemValue("sub_com2")) If uidoc.EditMode Then Call uidoc.Refresh() ' ??? Else Call uidoc.Document.Save(True, False, False) Call ws.EditDocument(, uidoc.Document) Call uidoc.Close(True) End If Call Source.Close(True) End If End Sub
только предупрежу сразу, что в другом конкретном случае, когда документ (главный) открывающий второй (ведомый) закрывается, а потом открывается заново, а ведомый не закрывается, то последуещее сохранение ведомого не изменит значения в ново-открытом ведущем...
твой вариант через диалог тоже рабочий, но ты там не переоткрываешь ведущий документ! а надо!
Код:If docChanged Then If subdoc Is Nothing Then ' ничего Msgbox "Empty" Else Call doc.ReplaceItemValue("sub_com",subdoc.GetItemValue("sub_com2")(0)) Call doc.Save (True, True) Call w.EditDocument(False, doc) call uidoc.Close(true) End If End If
ох уж мне эти программисты! ты их на идею наталкиваешь, а они тебе - "у меня не такая же задача" )Смотрел, но у меня не респонсы...
чаво?.. я не понял, не работает что-то? ))это первый вариант кода, я уже чуть выше другой кусок приложил...
если документ не новый - то source.documentа как из формы при открытии документа в QueryOpen получить открываемый документ как объект?
стандартный вариант set doc = uidoc.document - не работает :blink:
если документ не новый - то source.document
новый док-т в queryopen, насколько мне известно, получить не удастся
Обучение наступательной кибербезопасности в игровой форме. Начать игру!