die oben geschilderten Probleme sind real.
Was machst Du z.B. wenn user local auf repliken arbeiten?
Bei gelöschten Dokumenten entstehen Lücken. Hatte darüber schon endlose Diskussionen mit kundenseitigen Projektmanagern.
Erste Idee wäre vielleicht, die derzeit aktuelle Nummer in einer Art Konfigurationsdokument abzuspeichern.
Ich halte diesen folgenden Ansatz für vielversprechender:
In querySave
es gibt:
Eine Ansicht mit den AuftragsNr-Dokumenten nach der Auftragsnumemr sotieren (aufsteigend).
du machst
1. die view aus (es gibt:) besorgen.
2. Unbedingt view.refresh()
3. Mit view.getLastDocument Dokument mit der höchsten Nummer ermitteln und dann mit sowas wie
doc.getItemValue("AuftragsNr")(0)
den int oder long der Auftragsnummer erhalten.
4. Sich das Feld AuftragsNr als NotesItem-Objekt besorgen.
5. Dafür sorgen das das folgende tatsächlich als Zahl abgespeichert wird. Geht irgendwie mit NotesItem Klasse zuverlässig.
6. Höchste Auftragsnr aus 3. mit 1 addieren und
7. fertig. Gespeichert wird ja nach querySave automatisch.
hoffe das hilft