S
StarikStarik2705
есть База Данных
Выписываем документ поль1 и поль2
поль2. заходит в док нажимает редактировать не закрывает.
в это время поль1 заходит в свой док и закрывает его вместе с дочерними.
поль2 пытается сохранить документ.
без дорабтки лотус предложит сохранить конфликт, с доработкой выдаст предупреждение (Msgbox "В документ были внесены изменения после открытия вами." + lf + "Переоткройте документ для просмотра состояния документа.") и закроет док.
Подформа ActBar_01
внимание впорос, как можно эту проверку реализовать для этой базы под Вебом? как опеределить что они оба нажали кнопку сохранить? :facepalm:
Выписываем документ поль1 и поль2
поль2. заходит в док нажимает редактировать не закрывает.
в это время поль1 заходит в свой док и закрывает его вместе с дочерними.
поль2 пытается сохранить документ.
без дорабтки лотус предложит сохранить конфликт, с доработкой выдаст предупреждение (Msgbox "В документ были внесены изменения после открытия вами." + lf + "Переоткройте документ для просмотра состояния документа.") и закроет док.
Подформа ActBar_01
Код:
Sub Querysave(Source As Notesuidocument, Continue As Variant)
If Not noConflict(Source) Then
Let Source.Document.SaveOptions = "0"
Continue = False
Call Source.Close()
Exit Sub
End If
End Sub
Function noConflict( Source As NotesUIDocument ) As Boolean
On Error Goto ERROR_HANDLER
Goto START
ERROR_HANDLER:
On Error Goto 0
Error Err, Error$ & Chr(10) & Getthreadinfo(1) & " (" & Erl & ")"
Exit Function
START:
Const lf = |
|
noConflict = True
If Source.IsNewDoc Then Exit Function 'conflict is not possible
Dim ns As New NotesSession
Dim doc As NotesDocument, doc2 As NotesDocument, vu As NotesView
Set doc = Source.Document
Dim thisdate, thatdate, users
Dim username As NotesName
Dim usertext As String, user As String
Set vu = ns.CurrentDatabase.GetView( "AllDataBaseDocs" )
vu.Refresh
Set doc2 = vu.GetDocumentByKey( doc.UniversalID )
If doc2 Is Nothing Then Exit Function 'should only happen with a new doc, but just in case...
thisdate = doc.LastModified()
thatdate = doc2.LastModified()
If thisdate < thatdate Then
noConflict = False
Msgbox "В документ были внесены изменения после открытия вами." + lf + "Переоткройте документ для просмотра состояния документа.", 16, "Сохранение конфликтного документа"
End If
End Function
внимание впорос, как можно эту проверку реализовать для этой базы под Вебом? как опеределить что они оба нажали кнопку сохранить? :facepalm: