D
DNT
Необходимо каждому новому документу в БД присваивать номер: 1, 2, 3, ... n.
Номер этот должен содержаться в поле формы. Номер должен быть уникальным.
Как это делается правильно?
Я сделал так:
Sub Postopen(Source As Notesuidocument)
Dim session As New NotesSession
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set view = db.GetView( "wEnter" )
Set doc = source.document
If doc.Code(0)=0 Then
If view.TopLevelEntryCount=0 Then
doc.rgCode=1 ' первому присваиваем 1
End If
If view.TopLevelEntryCount>0 Then
Set doc2 = view.GetLastDocument
doc.rgCode2=doc2.rgCode2(0)+1 'берем номер последнего и
'увеличиваем на 1
End If
End If
End Sub
Работает неправильно: если один юзер открыл документ но еще не сохранил его (редактирует), то если в это время кто-то еще создает новый документ то код будет совпадать!!!!!!!
КАК ЭТО ПРАВИЛЬНО РАЗРУЛИТЬ????
Номер этот должен содержаться в поле формы. Номер должен быть уникальным.
Как это делается правильно?
Я сделал так:
Sub Postopen(Source As Notesuidocument)
Dim session As New NotesSession
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set view = db.GetView( "wEnter" )
Set doc = source.document
If doc.Code(0)=0 Then
If view.TopLevelEntryCount=0 Then
doc.rgCode=1 ' первому присваиваем 1
End If
If view.TopLevelEntryCount>0 Then
Set doc2 = view.GetLastDocument
doc.rgCode2=doc2.rgCode2(0)+1 'берем номер последнего и
'увеличиваем на 1
End If
End If
End Sub
Работает неправильно: если один юзер открыл документ но еще не сохранил его (редактирует), то если в это время кто-то еще создает новый документ то код будет совпадать!!!!!!!
КАК ЭТО ПРАВИЛЬНО РАЗРУЛИТЬ????