Общие вопросы > Разработка приложений

Конфликтные документы. Как минимизироват

<< < (2/3) > >>

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:
Пользователи работают с одной базой? Может используются реплики?

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Перейти к полной версии