Общие вопросы > Разработка приложений
Конфликтные документы. Как минимизироват
ViV:
Тогда при программном изменении пользователем Б документа не меняется поле LastModified.
cybergeene:
при открытых одновременно документах
Б делает изменения
у пользователя Б все корректно меняется
а вот у пользоватея А
при прогоне скрипта, даты одинаковые
ViV:
Попробуйте в скрипте перед строкой:
--- Код: --- Set doc = dbn.GetDocumentByUNID( UIDS ) 'переопределяем doc
--- Конец кода ---
вставить строку:
--- Код: ---Delete doc
--- Конец кода ---
Возможно берется документ из кэша.
cybergeene:
уже стоит :(
--- Код: ---Function isCHdoc(Source As NotesUIDocument) As Boolean
Dim db As NotesDatabase
Dim dbn As NotesDatabase
Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
isCHdoc = False
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
source.AutoReload = False
Set doc = Source.Document
Dim noteIDs As String
Dim UIDS As String
Dim ddate As Variant
Dim sdate As Variant
Dim success As Variant
sdate = Source.Document.LastModified
' noteIDs = doc.NoteID
UIDS = doc.UniversalId
' Dim dbui As NotesUIDatabase
' Set dbui = workspace.CurrentDatabase
' Set db = dbui.Database
' Set db = Source.Document.ParentDatabase
Call Source.Close()
Delete doc
Delete Source
Set db = session.CurrentDatabase
Call workspace.OpenDatabase( db.Server, db.FilePath)
' Set doc = db.GetDocumentByID(noteIDs)
Set dbn = New NotesDatabase ( db.Server, db.FilePath )
Set doc = dbn.GetDocumentByUNID( UIDS )
ddate = doc.LastModified
Print Cstr(ddate)," --0-- " Cstr(sdate)
Call workspace.EditDocument( False, doc, False)
Set uidoc = workspace.CurrentDocument
sdate = uidoc.Document.LastModified
' Call workspace.ReloadWindow( )
Print Cstr(ddate)," -- -- " Cstr(sdate)
' Print Cstr(doc.LastModified)," - ", Cstr(Source.Document.LastModified )
' If doc.LastModified > Source.Document.LastModified Then
If ddate > sdate Then
isCHdoc = True
Messagebox( "документ был изменён. переоткрываем его. " )
End If
End Function
--- Конец кода ---
ViV:
Пользователи работают с одной базой? Может используются реплики?
Навигация
Перейти к полной версии