Domino 9 und frühere Versionen > ND7: Entwicklung

Shared Field

<< < (2/6) > >>

Axel:
Das funktioniert aber auch nur solange, wie die DB nur von einem einzigen Benutzer verwendet wird.

Ansonsten gilt die Aussage von Klauss

Und was noch dazu kommt, der Benutzer muss das Feld auch wirklich verlassen.

Was machst du, wenn der User speichert und der Cursor steht noch in diesem Feld. Das Exiting - Event eines Feldes wird nicht immer zuverlässig ausgeführt.



Axel

DerAndre:
Unter Beachtung aller Sicherheitshinweise hätte ich auch noch einen Vorschlag:

Ein Numberingdocument erstellen
Im Querysave-Event auf das Document Zugreifen
Nummer Hochzählen
Nummer Reinschreiben ( in das Numberingdocument und in das aktuelle Zählerfeld )
Numberingdocument speichern

Das sollte einigermassen brauchbar Funktionieren, tut es bei uns zumindest...

klaussal:
Und auch hier gilt:

--- Zitat ---Das funktioniert aber auch nur solange, wie die DB nur von einem einzigen Benutzer verwendet wird.
--- Ende Zitat ---

smoki:
Du kannst auch eine Pseudonummer vergeben bsp -1.

Und nach dem Speichern einen Agenten auf dem Server starten, der alle Dokumente mit -1 durchnummerieren soll (auf basis eines Profildokuments, dass den aktuellen Zähler enthält).

Normalerweise kann niemals ein Agent zweimal gleichzeitig auf dem Server laufen. (Es gibt aber einen Notes.ini Eintrag, der dieses Verhalten verändert!)

Wenn du über mehrere Repliken hinweg arbeitest, muss beachtet werden, dass der Agent nur auf einem Server ausgeführt wird.

Dann bleibt die Laufnummer so lange -1 bis sie auf dem Server der Nummeriert einschlägt. Dort sollte ein periodischer Agent laufen, der den Hochzählagenten startet.

Man kann sich noch mehr aus denken, dann wird es aber immer schwieriger :)

Ggf. gibt es bei diesen Verfahren Replizierkonflikte aber die treten trotz heftiger Nutzung bei uns fast nie auf;)

Gruss
Christian

Demian:
Hallo,

zu Axel:


--- Zitat von: Axel am 03.01.07 - 13:08:07 ---Das funktioniert aber auch nur solange, wie die DB nur von einem einzigen Benutzer verwendet wird.

--- Ende Zitat ---

Naja gut, wenn 2 Leute gleichzeitig die Maske speichern, würde es mit dem Code zu Problemen kommen, aber sonst doch nicht, oder?


--- Zitat von: Axel am 03.01.07 - 13:08:07 ---Und was noch dazu kommt, der Benutzer muss das Feld auch wirklich verlassen.

Was machst du, wenn der User speichert und der Cursor steht noch in diesem Feld. Das Exiting - Event eines Feldes wird nicht immer zuverlässig ausgeführt.

--- Ende Zitat ---

Für den Fall frage ich im Querysave der Maske immer ab, ob alle Felder ausgefüllt sind, wenn nicht wird der Speichervorgang mit entsprechendem Hinweis abgebrochen :)

Gruß
Demian

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln