Domino 9 und frühere Versionen > Entwicklung

lfd nr für dokumente in ner db

<< < (2/2)

Axel_Janssen:
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  8)


Karotte:
@axel: dazu müsste der Nutzer erstmal wissen zuwas repliken da sind und wie sie eingesetzt werden ;)

bei mir soll es am ende auf folgendes herauslaufen: Das doc soll ne Nummer bekommen (vom System generiert), der Kunde kann dann in der Datenbank nachsehen was seine Aufträge machen: 3 Aufträge eingereicht: Auftrag 511 in Bearbeitung, Auftrag 544 noch nicht ausgelesen, Auftrag 509 abgeschlossen
Der Verkäufer sieht natürlich alles und soll Auftrag für Auftrag abarbeiten können. Das mit der kat. Ansicht hatte ich mir auch schon überlegt, da nummeriert ja LN auch von sich aus. Ich würd dann gern aber über die Nummer auf das Doc zugreifen können. Zum Bleistift 511 wurde zu 50% bearbeitet aber es fehlen zum bsp. noch 2 Teile, dann kann im Endeffekt der Verkäufer die Teile wenn sie da sind zu dem Auftrag zu buchen.

Naja ansonsten verwerf ich den ganzen schrott und grab die alte MX-300 mit HP-UX raus, da hatte ich mal ne Auftragsverwaltung

Axel:

--- Zitat ---...dazu müsste der Nutzer erstmal wissen zuwas repliken da sind und wie sie eingesetzt werden

--- Ende Zitat ---

Hi,

unterschätz' die User nicht, denn sie wissen manchmal mehr als sie zugeben und was du meinst, dass sie wissen. Ausserdem sind viele Spielernaturen, so nach dem Motto: schau'n mer mal was da passiert...

Ein Lösungsansatz für dein Problem mit den Auftragsnummern wäre folgender, nimm eine Ansicht, die nach den Auftragsnummern  aufsteigend sortiert ist. Bei der Generierung eines Auftrags frägst du die Nummer des letzten Dokuments in dieser Ansicht ab und erhöhst diese um 1. Wenn noch kein Auftrag vorhanden ist, gibst du einfach eine Nummer vor, mit der dann begonnen wird. So was ähnliches hab ich in "grauer Vorzeit" mal gemacht.

Axel

jknoblich:
Ja an der laufenden Nummer scheiden sich die Geister :-)

Ich bin auch so langsam weg davon und nehme @unique .
Habe hier aber noch ne DB wo ich das mal so glöste hatte:
- ein Konfig-Doc, wo die letzte Nummer gespeichert wird
- eine Ansicht, wo nur das Konfig-Doc auftaucht

Wenn nun ein neues Doc erstellt wird, kann man nur über eine Schaltfläche speichern. Dabei hole ich mir aus dem Konfig-Doc die letzte Nummer und erhöhe sie um 1. Die Nummer wird dann in das aktuelle Doc eingefügt und dann auch noch im Konfig-Doc gespeichert.

Ist vielleicht nicht so schön, aber ich hatte das damals als Vorgabe:
"Wir wollen eine fortlaufende Nummer, die jedes Jahr neu beginnt..."

ata:
... wir hatten hier im Forum eine Beipieldatenbank, die doliman damals im Forum gepostet hatte. Ich habe die DB bei mir schon ml in Verwendung. Mit kleinen Anpassungen läuft di ganz passabel..

ata

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln