Domino 9 und frühere Versionen > Entwicklung

Script gegen doppelte Einträge

<< < (2/2)

TMC:
Schon klar, Bernhard, aber irgendwie muss ja das Dokument gespeichert werden, damit der QuerySave-Event ausgelöst wird.

Meine Vermutung: Das Dok wird im Backend gespeichert. (da wohl hier Continue = False nicht greift).

Aber genau weiß ich es nicht, daher meine Frage....

koehlerbv:
GetDocumentByKey mit Longs (was Lieferantennummern ja sein können) könnte in manchen Versionen durchaus Ärger bringen - wir hatten erst vor nicht allzu langer Zeit einen Thread hierzu.

Mein Tip:
Ist die DB noch nicht produktiv: Sowieso Lieferantennummer als Text verwenden. Zumindest aber die Lookup-Ansicht mit Textwert für die Lieferantennummer ausführen.

@Matthias:
Wenn er vorab im Backend speichert, wäre die Nummer ja auf jeden Fall doppelt.
Und: Diro schrieb hier seinen Code aus dem QuerySave - schau mal nach. Da greift natürlich Continue = False

@Diro:
Wie stellst Du sicher, das ein Dokument, dass die Prüfung als "NewDoc" durchlief, nicht später hinsichtlich der Nummer geändert wird ? Das ist eine prinzipielle Frage !

Bernhard

Diro:
Hallo Bernhard,

zu deiner Frage die berechtigt ist:

"Wie stellst Du sicher, das ein Dokument, dass die Prüfung als "NewDoc" durchlief, nicht später hinsichtlich der Nummer geändert wird ? Das ist eine prinzipielle Frage !"

habe ich ehrlich gesagt noch gar nicht daran gedacht. Hast Du mir eventuell einen Tip wie ich das auch noch abfangen könnte?

Im übrigen könnte ich schon noch das Feld "Lieferantennr" in ein Textfeld umwandeln, nur habe ich dann das Problem wenn ich eine Suche mit <(kleiner) oder >(größer) als durchführen möchte.

Gruß Diro

koehlerbv:
Der gewünschte Tipp:
NotesView.GetAllDocumentsByKey.
In der NotesDocumentCollection darf dann eigentlich nur ein Dokument stehen - und dieses muss die gleiche UniversalID haben wie das Dokument, aus dem Du prüfst. Wenn nicht - dann ist was faul.
Steht gar kein Dokument in der Collection, ist auch alles grün, dann ist das Dokument neu.

Wegen der Prüfung auf grösser oder kleiner: Einerseits kannst Du - wenn Eure Lieferantennummern nur aus Ziffern bestehen - diese für solcherart Prüfungen wieder in eine Zahl umwandeln, andererseits kannst Du (was ich zu tun pflege) die Lieferantennummern auch normieren: Vorschrift ist zum Bleistift
"########"
User gibt
"123"
ein.
Du speicherst den Wert aber als
"00000123".

Kommt später jemand auf die Idee, die Lieferantennummern anders aufzubauen (zum Beispiel durch Voransetzen eines Ländercodes), bist Du fein 'raus - Dein Änderungsaufwand hält sich dann in Grenzen.

HTH,
Bernhard

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln