Wie wärs mit einem kleinen Script:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
If Source.IsNewDoc Then
Set db = session.CurrentDatabase
Set view = db.GetView("DEINE VIEW")
Set doc = view.GetLastdocument
If doc Is Nothing Then
Source.Document.KUNDENNUMMER = 1
Else
Source.Document.KUNDENNUMMER = doc.KUNDENNUMMER(0) + 1
End If
End If
Dazu hat Deine View 1 Spalte mit der Kundennummer, aufsteigend sortiert (wegen dem GetLastdocument). Kannst natürlich auch absteigend sortieren, dann schreibste halt GetFirstdocument ;)
Du weißt ja hoffentlich über die Problematik der fortlaufenden Nr. Bescheid, siehe auch z.B. auch hier: http://www.atnotes.de/index.php?board=7;action=display;threadid=12905
TMC
ich würde immer view refresh da einfügen:
Set view = db.GetView("DEINE VIEW")
view.refresh
Set doc = view.GetLastdocument
Was machst du, wenn Dokumente gelöscht werden. Dann sind Stellen frei.
Ich empfehle dringend, dies als nicht so wichtig anzusehen und nicht mit diesen beliebten Experimenten anzufangen, dass diese Lücken gefüllt werden. Das kompliziert nur den code (mit den bekannten negativen Folgen für Lesbarkeit und Performance) und bringt meistens nix!